<SEC-DOCUMENT>0000851205-17-000003.txt : 20170216
<SEC-HEADER>0000851205-17-000003.hdr.sgml : 20170216
<ACCEPTANCE-DATETIME>20170216160657
ACCESSION NUMBER:		0000851205-17-000003
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		130
CONFORMED PERIOD OF REPORT:	20161231
FILED AS OF DATE:		20170216
DATE AS OF CHANGE:		20170216

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			COGNEX CORP
		CENTRAL INDEX KEY:			0000851205
		STANDARD INDUSTRIAL CLASSIFICATION:	INDUSTRIAL INSTRUMENTS FOR MEASUREMENT, DISPLAY, AND CONTROL [3823]
		IRS NUMBER:				042713778
		STATE OF INCORPORATION:			MA
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		ONE VISION DR
		CITY:			NATICK
		STATE:			MA
		ZIP:			01760
		BUSINESS PHONE:		5086503000

	MAIL ADDRESS:	
		STREET 1:		ONE VISION DRIVE
		CITY:			NATICK
		STATE:			MA
		ZIP:			01760
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>cgnx-20161231x10xk.htm
<DESCRIPTION>10-K
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2017 Workiva -->
		<title>Document</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="sDDB23BA12452E906F0CB77D72114A28D"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:11pt;"><font style="font-family:Arial;font-size:11pt;font-weight:bold;">UNITED STATES</font></div><div style="line-height:120%;text-align:center;font-size:11pt;"><font style="font-family:Arial;font-size:11pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</font></div><div style="line-height:120%;text-align:center;font-size:11pt;"><font style="font-family:Arial;font-size:11pt;font-weight:bold;">Washington, D.C. 20549</font></div><div style="line-height:120%;text-align:center;font-size:22pt;"><font style="font-family:Arial;font-size:22pt;font-weight:bold;">FORM 10-K</font></div><div style="line-height:120%;padding-top:2px;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;font-style:italic;">(Mark One)</font></div><div style="line-height:120%;padding-top:2px;text-indent:32px;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">[ X ] Annual report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the fiscal year ended </font><font style="font-family:Arial;font-size:9.5pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:9.5pt;">&#32;or</font></div><div style="line-height:120%;padding-top:2px;text-indent:32px;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">[&#160;&#160;&#160;&#160;] Transition report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the transition period from </font><font style="font-family:Arial;font-size:9.5pt;text-decoration:underline;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-family:Arial;font-size:9.5pt;">&#32;to </font><font style="font-family:Arial;font-size:9.5pt;text-decoration:underline;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font style="font-family:Arial;font-size:9.5pt;">.</font></div><div style="line-height:120%;text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Commission File Number </font><font style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">001-34218</font></div><div style="line-height:120%;text-align:center;font-size:17pt;"><font style="font-family:Arial;font-size:17pt;font-weight:bold;text-decoration:underline;">COGNEX CORPORATION</font></div><div style="line-height:120%;padding-top:2px;text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-style:italic;">(Exact name of registrant as specified in its charter)</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:682px;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:21px;"></td><td style="width:185px;"></td><td style="width:338px;"></td><td style="width:116px;"></td><td style="width:21px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Massachusetts&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">04-2713778&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-style:italic;">(State or other jurisdiction of</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-style:italic;">incorporation or organization)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-style:italic;">(I.R.S. Employer</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-style:italic;">Identification No.)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:683px;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:106px;"></td><td style="width:117px;"></td><td style="width:234px;"></td><td style="width:117px;"></td><td style="width:106px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">One Vision Drive</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Natick,&#160;Massachusetts&#160;01760-2059</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(508) 650-3000</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-style:italic;">(Address, including zip code, and telephone number,</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-style:italic;">including area code, of principal executive offices)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Securities registered pursuant to Section&#160;12(b) of the Act:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:49%;"></td><td style="width:1%;"></td><td style="width:50%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;text-decoration:underline;">Title of Each Class</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;text-decoration:underline;">Name of Exchange on Which Registered</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Common Stock, par value $.002 per share</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">The NASDAQ Stock Market LLC</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Preferred Stock Purchase Rights</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">The NASDAQ Stock Market LLC</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Securities registered pursuant to Section&#160;12(g) of the Act: None</font></div><div style="line-height:120%;padding-top:2px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act.</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:25%;"></td><td style="width:2%;"></td><td style="width:14%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:19%;"></td><td style="width:2%;"></td><td style="width:5%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:11%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Yes</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">X</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">No</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or Section&#160;15(d) of the Act.</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:25%;"></td><td style="width:2%;"></td><td style="width:14%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:19%;"></td><td style="width:2%;"></td><td style="width:5%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:11%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Yes</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">No</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">X&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;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)&#160;has been subject to such filing requirements for the past 90 days.</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:25%;"></td><td style="width:2%;"></td><td style="width:14%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:19%;"></td><td style="width:2%;"></td><td style="width:5%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:11%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Yes</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">X&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">No</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark whether the registrant has submitted electronically and posted on its corporate web site, if any, every Interactive Data File required to be submitted and posted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit and post such files).</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:25%;"></td><td style="width:2%;"></td><td style="width:14%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:19%;"></td><td style="width:2%;"></td><td style="width:5%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:11%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Yes</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">X&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">No</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark if disclosure of delinquent filers pursuant to Item&#160;405 of Regulation S-K is not contained herein, and will not be contained, to the best of the registrant&#8217;s knowledge, in definitive proxy or information statements incorporated by reference in Part III of this Form 10-K or any amendment to this Form 10-K.&#160;&#160;&#160;&#160;[&#160;&#160;X&#160;&#160;]</font></div><div style="line-height:120%;padding-top:2px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, or a smaller reporting company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer&#8221; and &#8220;smaller reporting company&#8221; in Rule 12b-2 of the Exchange Act. (Check one):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:98.4375%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:57%;"></td><td style="width:1%;"></td><td style="width:42%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Wingdings;font-size:9pt;">x</font><font style="font-family:Arial;font-size:9pt;">&#160;&#160;Large&#160;accelerated&#160;filer</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:9pt;"><font style="font-family:Wingdings;font-size:9pt;">&#168;</font><font style="font-family:Arial;font-size:9pt;">&#160;&#160;Accelerated filer</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Wingdings;font-size:9pt;">&#168;</font><font style="font-family:Arial;font-size:9pt;">&#160;&#160;Non-accelerated filer (Do not check if a smaller reporting company)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:9pt;"><font style="font-family:Wingdings;font-size:9pt;">&#168;</font><font style="font-family:Arial;font-size:9pt;">&#160;Smaller reporting&#160;company</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:2px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:25%;"></td><td style="width:2%;"></td><td style="width:14%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:19%;"></td><td style="width:2%;"></td><td style="width:5%;"></td><td style="width:2%;"></td><td style="width:7%;"></td><td style="width:2%;"></td><td style="width:11%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Yes</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">No</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">X&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Aggregate market value of voting stock held by non-affiliates of the registrant as of </font><font style="font-family:Arial;font-size:9pt;">July&#160;3, 2016</font><font style="font-family:Arial;font-size:9pt;">: $</font><font style="font-family:Arial;font-size:9pt;">3,486,705,000</font><font style="font-family:Arial;font-size:9pt;">&#32;</font></div><div style="line-height:120%;text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Common stock, par value $.002 per share, outstanding as of </font><font style="font-family:Arial;font-size:9pt;">January&#160;29, 2017</font><font style="font-family:Arial;font-size:9pt;">: </font><font style="font-family:Arial;font-size:9pt;">86,053,044</font><font style="font-family:Arial;font-size:9pt;">&#32;shares</font></div><div style="line-height:120%;padding-top:2px;text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">DOCUMENTS INCORPORATED BY REFERENCE:</font></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">The registrant intends to file a Definitive Proxy Statement pursuant to Regulation 14A within 120&#160;days of the end of the fiscal year ended </font><font style="font-family:Arial;font-size:9pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:9pt;">. Portions of such Proxy Statement are incorporated by reference in Part&#160;III of this report.</font></div><div><br></div><div></div><hr style="page-break-after:always"><div><a name="sDDDE2591A149CC42942677D72E80112D"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ANNUAL REPORT ON FORM 10-K</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">FOR THE YEAR ENDED DECEMBER 31, </font><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2016</font><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#32;</font></div><div style="line-height:120%;padding-top:24px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">INDEX</font></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:16%;"></td><td style="width:69%;"></td><td style="width:15%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;" href="#s61C4676917CE43A809F177D72EA1C17E"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;">PART I</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;" href="#s61C4676917CE43A809F177D72EA1C17E">1</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 1.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s995F9C3CAB246F678F0577D7211EC26A"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">BUSINESS</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s995F9C3CAB246F678F0577D7211EC26A">1</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 1A.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s47C5A027B5C2302A5AAC77D7211FFB0C"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">RISK FACTORS</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s47C5A027B5C2302A5AAC77D7211FFB0C">6</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM&#160;1B.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s9D0EEEB67A41E4900AFA77D72F27E37E"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">UNRESOLVED STAFF COMMENTS</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s9D0EEEB67A41E4900AFA77D72F27E37E">12</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 2.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sCE3B27DFDD4E98F58D0777D72F48ECE4"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">PROPERTIES</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sCE3B27DFDD4E98F58D0777D72F48ECE4">12</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 3.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sA51C238EED72180DA45177D72F77526A"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">LEGAL PROCEEDINGS</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sA51C238EED72180DA45177D72F77526A">12</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 4.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s1C3A2F674BE5D29CE37B77D72F9BED07"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">MINE SAFETY DISCLOSURES</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s1C3A2F674BE5D29CE37B77D72F9BED07">12</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 4A.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sB3EB5C7C469E7F73CC5F77D72FCBF4D3"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">EXECUTIVE OFFICERS OF THE REGISTRANT</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sB3EB5C7C469E7F73CC5F77D72FCBF4D3">13</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;" href="#s7AD86D8348D7DD902A7F77D72FEECE8B"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;">PART II</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;" href="#s7AD86D8348D7DD902A7F77D72FEECE8B">14</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 5.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sE1417210364AD95F4E2277D721201A45"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS, AND ISSUER PURCHASES OF EQUITY SECURITIES</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sE1417210364AD95F4E2277D721201A45">14</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 6.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sEB87EC3ED844E4A3D9CC77D72122872C"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">SELECTED FINANCIAL DATA</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sEB87EC3ED844E4A3D9CC77D72122872C">16</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 7.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s475C0925D6940EE9CD8877D72CE60C48"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s475C0925D6940EE9CD8877D72CE60C48">17</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM&#160;7A.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s542E3C493D2AF5F0786F77D72128D581"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s542E3C493D2AF5F0786F77D72128D581">30</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 8.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s0BB6C1B06B24DE8B8AFA77D7316FD7B2"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s0BB6C1B06B24DE8B8AFA77D7316FD7B2">33</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 9.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s0EF9697A7F20DB06AEAA77D738B9B320"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s0EF9697A7F20DB06AEAA77D738B9B320">73</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 9A.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s8EEAD57345769E3765CC77D738E9850B"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">CONTROLS AND PROCEDURES</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s8EEAD57345769E3765CC77D738E9850B">73</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM 9B.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s8681B0D95C8B2BEDE96577D7390C045C"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">OTHER INFORMATION</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s8681B0D95C8B2BEDE96577D7390C045C">75</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;" href="#sAF4E16E0298FF5E9AC4B77D7393B7513"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;">PART&#160;III</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;" href="#sAF4E16E0298FF5E9AC4B77D7393B7513">75</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM&#160;10.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s9AC5302643315ED0A1F177D728562E59"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">DIRECTORS, EXECUTIVE OFFICERS, AND CORPORATE GOVERNANCE</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s9AC5302643315ED0A1F177D728562E59">75</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM&#160;11.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s1B9D322ADBE4C6A21CA177D7398E1CD9"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">EXECUTIVE COMPENSATION</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s1B9D322ADBE4C6A21CA177D7398E1CD9">75</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM&#160;12.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sF94011318C6FC609906577D723F07055"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sF94011318C6FC609906577D723F07055">75</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM&#160;13.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s0F76A5A116B6200E1FC177D739E38CEE"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#s0F76A5A116B6200E1FC177D739E38CEE">76</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM&#160;14.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:underline;" href="#sF15A77BF87E2CED26FA677D73A053345"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:underline;">PRINCIPAL ACCOUNTING FEES AND SERVICES</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sF15A77BF87E2CED26FA677D73A053345">76</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;" href="#sA91807A6438D4A66334477D73A36D6B9"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;">PART&#160;IV</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;color:#000000;" href="#sA91807A6438D4A66334477D73A36D6B9">76</a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ITEM&#160;15.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sE1A53651F2177EF5310977D73A5A9A92"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;">EXHIBITS AND FINANCIAL STATEMENT SCHEDULES</font></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;text-decoration:underline;color:#000000;" href="#sE1A53651F2177EF5310977D73A5A9A92">76</a></div></td></tr></table></div></div><div><br></div><div></div><hr style="page-break-after:always"><div><a name="s61C4676917CE43A809F177D72EA1C17E"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART I</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">This Annual Report on Form 10-K contains forward-looking statements within the meaning of the Federal Securities Laws. Readers can identify these forward-looking statements by our use of the words &#8220;expects,&#8221; &#8220;anticipates,&#8221; &#8220;estimates,&#8221; &#8220;believes,&#8221; &#8220;projects,&#8221; &#8220;intends,&#8221; &#8220;plans,&#8221; &#8220;will,&#8221; &#8220;may,&#8221; &#8220;shall,&#8221; &#8220;could,&#8221; &#8220;should,&#8221; and similar words and other statements of a similar sense.  Our future results may differ materially from current results and from those projected in the forward-looking statements as a result of known and unknown risks and uncertainties.  Readers should pay particular attention to considerations described in the section captioned &#8220;Risk Factors,&#8221; appearing in Part&#160;I&#160;- Item&#160;1A of this Annual Report on Form 10-K.  We caution readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made.  We disclaim any obligation to subsequently revise forward-looking statements to reflect the occurrence of anticipated or unanticipated events or circumstances after the date such statements are made.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Unless the context otherwise requires, the words &#8220;Cognex</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">,&#8221; the &#8220;Company,&#8221; &#8220;we,&#8221; &#8220;our,&#8221; &#8220;us,&#8221; and &#8220;our company&#8221; refer to Cognex Corporation and its consolidated subsidiaries.</font></div><div><a name="s995F9C3CAB246F678F0577D7211EC26A"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 1:  BUSINESS</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Corporate Profile</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation was incorporated in Massachusetts in 1981.  Our corporate headquarters are located at One Vision Drive, Natick, Massachusetts 01760 and our telephone number is (508)&#160;650-3000.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex is a leading worldwide provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, where vision is required.  Machine vision products are used to automate the manufacture and tracking of discrete items, such as mobile phones, aspirin bottles, and automobile tires, by locating, identifying, inspecting, and measuring them during the manufacturing or distribution process.  Machine vision is important for applications in which human vision is inadequate to meet requirements for size, accuracy, or speed, or in instances where substantial cost savings are obtained through the reduction of labor or improved product quality.  Today, many types of manufacturing equipment require machine vision because of the increasing demands for speed and accuracy in manufacturing processes, as well as the decreasing size of items being manufactured.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">What is Machine Vision?</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Since the beginning of the Industrial Revolution, human vision has played an indispensable role in the process of manufacturing products.  Human eyes did what no machines could do themselves: locating and positioning work, tracking the flow of parts, and inspecting output for quality and consistency.  Today, however, the requirements of many manufacturing processes have surpassed the limits of human eyesight.  Manufactured items often are produced too quickly or with tolerances too small to be analyzed by the human eye. In response to manufacturers&#8217; needs, &#8220;machine vision&#8221; technology emerged, providing manufacturing equipment with the gift of sight.  Machine vision systems were first widely embraced by manufacturers of electronic components who needed this technology to produce computer chips with decreasing geometries.  However, advances in technology and ease-of-use, combined with the decreasing cost of implementing vision applications, have made machine vision available to a broader range of users.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">1</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Machine vision products combine cameras with intelligent software to collect images and then answer questions about these images, such as:</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:21%;"></td><td style="width:3%;"></td><td style="width:30%;"></td><td style="width:5%;"></td><td style="width:41%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Question</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Description</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Example</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;text-decoration:underline;">GUIDANCE</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Where is it?</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Determining the exact physical location and orientation of an object.</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Determining the position of a printed circuit board so that a robot can automatically be guided to place electronic components.</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;text-decoration:underline;">IDENTIFICATION</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">What is it?</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Identifying an object by analyzing its physical appearance or by reading a serial number or symbol.</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reading a two-dimensional barcode directly marked on an automotive airbag so that it can be tracked and processed correctly through manufacturing.</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;text-decoration:underline;">INSPECTION</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">How good is it?</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inspecting an object for flaws or defects.</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Checking for debris to ensure that foreign objects are not present in a product before shipping to consumers.</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;text-decoration:underline;">GAUGING</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">What size is it?</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Determining the dimensions of an object.</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Determining the diameter of a bearing prior to final assembly.</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Machine Vision Market</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex machine vision is primarily used in the manufacturing sector, where the technology is widely recognized as an important component of automated production and quality assurance.  In this sector, the Company&#8217;s customers are primarily in the factory automation market.  Factory automation customers purchase Cognex vision products and incorporate them into their manufacturing processes.  Virtually every manufacturer can achieve better quality and manufacturing efficiency by using machine vision, and therefore, this market includes a broad base of customers across a variety of industries, including consumer electronics, automotive, consumer products, food and beverage, medical devices, and pharmaceuticals.  Factory automation customers also purchase Cognex products for use outside of the assembly process, such as using ID products in logistics automation for package sorting and distribution.  Sales to factory automation customers represented 96% of total revenue in 2016 compared to 95% of total revenue in 2015.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A small percentage of our customers are in the semiconductor and electronics capital equipment market.  These customers purchase Cognex vision products and integrate them into the automation equipment that they manufacture and then sell to their customers to either make semiconductor chips or assemble printed circuit boards.  Demand from these customers has been relatively flat on an annual basis for the past several years.  Sales to semiconductor and electronics capital equipment manufacturers represented only 4% of total revenue in 2016 compared to 5% of total revenue in 2015.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2016, 2015, and 2014, direct and indirect revenue from Apple Inc. accounted for 19%, 18%, and 16% of total revenue, respectively.</font><font style="font-family:Arial;font-size:10pt;">&#32;&#32;In 2016, reported revenue from this customer included $7,944,000 related to shipments from prior years for which revenue was deferred until 2016 when revenue recognition criteria were met.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Business Strategy</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Our goal is to expand our position as a leading worldwide provider of machine vision products.  We are selective in choosing growth opportunities that we believe will maintain our historically high gross margin percentages, which have ranged from the mid-to-high 70s for the past several years and reflect the value our customers place on our innovative products.  Our strong and unique corporate culture reinforces our values of customer first and innovation, and enables us to attract and retain smart, highly-educated, experienced talent who are motivated to solve the most challenging vision tasks.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We invest heavily in research and development in order to maintain our position as a technology leader in machine vision.  We invest in technology that makes vision easier to use and more affordable, and therefore, available to a broader base of customers, such as our vision sensor products that enable customers with a lower budget to use machine vision without the help of sophisticated engineers.  We also invest in technology that addresses the most challenging vision applications, such as our 3D vision products that solve applications where a height or volume measurement is required.  We identify large customers with high-volume applications and offer them collaborative development to deliver solutions to solve their complex vision problems. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We continue to invest in our core markets, such as consumer electronics and automotive, where we are a leading provider of vision and ID products for factory automation, while we seek opportunities to expand into adjacent markets </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">2</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">for vision, such as logistics, airport baggage handling, mobile terminals, life science, and collaborative robotics.  We invest through internal development, as well as the acquisition of businesses and technologies.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We reach a broad base of customers through our worldwide direct sales force that sells to large, strategic customers, as well as through our network of distributors and integrators that sell to smaller customers who may be more geographically remote.  We invest in emerging, high-growth regions where many manufacturers can benefit from incorporating machine vision into their production processes.  This includes investment in our fast-growing region, China, where rising wages for assembly workers and a greater focus on product quality are driving assembly automation, particularly in the consumer electronics industry.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Acquisitions and Divestitures</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Our business strategy includes selective expansion into new machine vision applications and markets through the acquisition of businesses and technologies. In 2016 and 2015, we completed five small business acquisitions, which were not material individually or in the aggregate.  The total purchase price for each business ranged from $2.5 million to $8 million.  In addition to completed technology and customer relationships, these acquisitions included engineering talent expected to help accelerate the development of future products.  Management considers business acquisitions to be an important part of our growth strategy, and although we continue to actively seek out acquisition opportunities, we are selective in choosing businesses that we believe will enhance our long-term growth rate and profitability.  We plan to continue to seek opportunities to expand our product lines, customer base, distribution network, and technical talent through acquisitions in the machine vision industry.  </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, we completed the sale of our Surface Inspection Systems Division (SISD) to AMETEK, Inc. for $156 million in cash.  The after-tax gain associated with this sale was $78 million.  SISD specialized in machine vision products that inspect the surfaces of materials processed in a continuous fashion.  SISD did not meet our long-term objectives and its divestiture was a strategic decision for us.  With this sale, we are focusing our efforts on discrete manufacturing where we see the greatest growth potential.  The financial results of SISD are reported as a discontinued operation in this Annual Report on Form 10-K and all prior period comparative financial data have been reported excluding SISD.  </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We had previously reported SISD as one of our two segments.  Given the disposition of the SISD segment, management reviewed its segment reporting and concluded that the Company now operates in one segment, machine vision technology.  We offer a variety of machine vision products that have similar economic characteristics, have the same production processes, and are distributed by the same sales channels to the same types of customers.  Information about segments may be found in Note 18 to the Consolidated Financial Statements, appearing in Part II - Item 8 of this Annual Report on Form 10-K. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Products</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex offers a full range of vision and ID products designed to meet customer needs at different performance and price points.  Our products range from low-cost vision sensors that are easily integrated, to PC-based systems for users with more experience or more complex requirements.  Our products also have a variety of physical forms, depending upon the user's needs.  For example, customers can purchase vision software to use with their own camera and processor, or they can purchase a standalone unit that combines camera, processor, and software into a single package.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Vision Software</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vision software provides users with the most flexibility by combining the full general-purpose library of Cognex vision tools with the cameras, frame grabbers, and peripheral equipment of their choice.  The vision software may run on the customer&#8217;s PC, which enables easy integration with PC-based data and controls.  Applications based upon Cognex vision software perform a wide range of vision tasks, including part location, identification, measurement, assembly verification, and robotic guidance.  Cognex's VisionPro</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">&#32;software offers an extensive suite of patented vision tools for advanced programming, while Cognex Designer allows customers to build complete vision applications with the simplicity of a graphical, flowchart-based programming environment.  Cognex also offers a series of displacement sensors that are sold with vision software for use in highly demanding 3D applications.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Vision Systems</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vision systems combine camera, processor, and vision software into a single, rugged package with a simple and flexible user interface for configuring applications.  These general-purpose vision systems are designed to be easily programmed to perform a wide range of vision tasks including part location, identification, measurement, assembly verification, and robotic guidance.  Cognex offers the In-Sight</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">&#32;product line of vision systems in a wide range of models to meet various price and performance requirements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">3</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Vision Sensors</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Unlike general-purpose vision systems that can be programmed to perform a wide variety of vision tasks, vision sensors are designed to deliver very simple, low-cost, reliable solutions for a limited number of common vision applications such as checking the presence and size of parts.  Cognex offers the In-Sight 2000 Series, which combines the power of an In-Sight vision system with the simplicity and affordability of a vision sensor.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">ID Products</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ID products quickly and reliably read codes (e.g., one-dimensional barcodes or two-dimensional data matrix codes) that have been applied to, or directly marked on, discrete items during the manufacturing process.  Manufacturers of goods ranging from automotive parts, pharmaceutical items, aircraft components, and medical devices are increasingly using direct part mark (DPM) identification to ensure that the appropriate manufacturing processes are performed in the correct sequence and on the right parts.  In addition, DPM is used to track parts from the beginning of their life to the end, and is also used in supply chain management and repair.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex also offers applications in the automatic identification market outside of the manufacturing sector, such as using ID products in logistics automation for package sorting and distribution.  As shipping volumes grow and more retail sales occur through ecommerce, more distribution centers are choosing to upgrade their traditional laser-based scanners to image-based barcode readers, which will cost-effectively increase package sorter efficiency and throughput by improving read rates.  Cognex offers the DataMan</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">&#32;product line of barcode readers, which includes both hand-held and fixed-mount models, and barcode verifiers, as well as the MX-1000 Series of vision-enabled Mobile Terminals that allow customers to leverage the latest mobile device technology for industrial barcode reading applications.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Research, Development, and Engineering</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex engages in research, development, and engineering (RD&amp;E) to enhance our existing products and to develop new products and functionality to meet market opportunities.  In addition to internal research and development efforts, we intend to continue our strategy of gaining access to new technology through strategic relationships and acquisitions where appropriate.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, Cognex employed 387 professionals in RD&amp;E, many of whom are software developers. Cognex&#8217;s RD&amp;E expenses totaled $78,269,000 in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, $69,791,000 in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and $55,831,000 in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, or approximately 15%, 15%, and 13% of revenue, respectively.  We believe that a continued commitment to RD&amp;E activities is essential in order to maintain or achieve product leadership with our existing products and to provide innovative new product offerings, as well as to provide engineering support for large customers.  In addition, we consider our ability to accelerate time-to-market for new products to be critical to our revenue growth.  Therefore, we expect to continue to make significant RD&amp;E investments in the future.  At any point in time, we have numerous research and development projects underway.  Although we target our annual  RD&amp;E spending to be between 10% and 15% of total revenue, this percentage is impacted by revenue levels and investing cycles.</font></div><div style="line-height:174%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Manufacturing and Order Fulfillment</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex&#8217;s products are manufactured utilizing a turnkey operation whereby the majority of component procurement, system assembly, and initial testing are performed by third-party contract manufacturers.  Cognex&#8217;s primary contract manufacturer is located in Indonesia.  The contract manufacturers use specified components sourced from a vendor list approved by Cognex and assembly/test documentation created and controlled by Cognex.  Certain components are presently sourced from a single vendor that is selected based upon price and performance considerations.  In the event of a supply disruption from a single-source vendor, these components may be purchased from an alternative vendor. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">After the completion of initial testing, a fully assembled product from the contract manufacturers is routed to our facility in Cork, Ireland or Natick, Massachusetts, USA, where trained Cognex personnel load the software onto the product and perform quality control procedures.  Finished product for customers in the Americas is then shipped from our Natick, Massachusetts facility, while finished product for customers outside of the Americas is shipped from our Cork, Ireland facility.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sales Channels and Support Services</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex sells its products through a worldwide direct sales force that focuses on the development of strategic accounts that generate or are expected to generate significant sales volume, as well as through a global network of integration and distribution partners.  Our integration partners are experts in vision and complementary technologies that can provide turnkey solutions for complex automation projects using vision, and our distribution partners provide sales and local support to help Cognex reach the many prospects for our products in factories around the world. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">4</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, 2016, Cognex&#8217;s sales force consisted of 540 professionals, and our partner network consisted of 468 active integrators and authorized distributors.  Sales engineers call directly on targeted accounts, with the assistance of application engineers, and manage the activities of our partners within their territories in order to provide the most advantageous sales model for our products.  The majority of our sales engineers are degreed engineers.  Cognex has sales and support personnel located throughout the Americas, Europe, and Asia. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sales to customers based outside of the United States represented approximately 74% of total revenue in 2016 compared to approximately 73% of total revenue in 2015.  In 2016, approximately 45% of our total revenue came from customers based in Europe, 12% from customers based in Greater China, 6% from customers based in Japan, and 11% from customers based in other regions outside the United States.  Sales to customers based in Europe are denominated in Euros and U.S. Dollars, sales to customers based in Greater China are denominated in Yuan for sales within Mainland China and U.S. Dollars in other territories, sales to customers based in Japan are predominantly denominated in Yen, and sales to customers based in other regions are denominated in U.S. Dollars.  Financial information about geographic areas may be found in</font><font style="font-family:Arial;font-size:10pt;color:#ff0000;">&#32;</font><font style="font-family:Arial;font-size:10pt;">Note 18 to the Consolidated Financial Statements, appearing in Part II - Item&#160;8 of this Annual Report on Form 10-K.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex&#8217;s service offerings include maintenance and support, consulting, and training services.  Maintenance and support programs include hardware support programs that entitle customers to have failed products repaired, as well as software support programs that provide customers with application support and software updates on the latest software releases.  Application support is provided by technical support personnel located at Cognex regional offices, as well as by field service engineers that provide support at the customer&#8217;s production site.  We provide consulting services that range from a specific area of functionality to a completely integrated vision application or installed ID application.  Training services include a variety of product courses that are available at our offices worldwide, at customer facilities, and on computer-based tutorials, video, and the internet. </font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intellectual Property</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We rely on the technical expertise, creativity, and knowledge of our personnel, and therefore, we utilize patent, trademark, copyright, and trade secret protection to maintain our competitive position and protect our proprietary rights in our products and technology.  While our intellectual property rights are important to our success, we believe that our business as a whole is not materially dependent on any particular patent, trademark, copyright, or other intellectual property right.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, Cognex had been granted, or owned by assignment, 571 patents issued worldwide and had another 415 patent applications pending worldwide.  Cognex has used, registered, or applied to register a number of trademark registrations in the United States and in other countries. Cognex&#8217;s trademark and servicemark portfolio includes various registered marks, including, among others, Cognex</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">, VisionPro</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">, In-Sight</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">, and  DataMan</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">, as well as many common-law marks.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Compliance with Environmental Provisions</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex&#8217;s capital expenditures, earnings, and competitive position are not materially affected by compliance with federal, state, and local environmental provisions which have been enacted or adopted to regulate the distribution of materials into the environment.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Competition</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The machine vision market is fragmented and our competitors are typically other vendors of machine vision systems, controllers, and components; manufacturers of image processing systems, sensors, and components; and system integrators.  In addition, in the semiconductor and electronics capital equipment market, and with respect to machine builders in the factory automation market, we compete with the internal engineering departments of current or prospective customers.  In the identification and logistics market, we compete with manufacturers of automatic identification systems.  Key competitors with a global presence include Keyence Corporation, Sick AG, and Omron Corporation.  Any of these competitors may have greater financial and other resources than Cognex.  Although we consider Cognex to be one of the leading machine vision companies in the world, reliable estimates of the machine vision market and the number of competitors are not available.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex&#8217;s ability to compete depends upon our ability to design, manufacture, and sell high-quality products, as well as our ability to develop new products and functionality that meet evolving customer requirements.  The primary competitive factors affecting the choice of a machine vision or ID system include vendor reputation, product functionality and performance, ease of use, price, and post-sales support.  The importance of each of these factors varies depending upon the specific customer&#8217;s needs.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">5</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Backlog</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, backlog, which includes deferred revenue, totaled $39,335,000, compared to $27,020,000 as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2015</font><font style="font-family:Arial;font-size:10pt;">.  Backlog reflects customer purchase orders for products scheduled for shipment primarily within 120 days for customers in the logistics industry and primarily within 60 days for customers in all other industries. The level of backlog at any particular date is not necessarily indicative of future revenue.  Delivery schedules may be extended and orders may be canceled at any time subject to certain cancellation penalties.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Employees</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, Cognex employed </font><font style="font-family:Arial;font-size:10pt;">1,421</font><font style="font-family:Arial;font-size:10pt;">&#32;persons, including 731 in sales, marketing, and service activities; 387 in research, development, and engineering; 140 in manufacturing and quality assurance; and 163 in information technology, finance, and administration.  Of our </font><font style="font-family:Arial;font-size:10pt;">1,421</font><font style="font-family:Arial;font-size:10pt;">&#32;employees, 786 are based outside of the United States. None of our employees are represented by a labor union and we have experienced no work stoppages. We believe that our employee relations are good.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Available Information</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex maintains a website on the World Wide Web at www.cognex.com.  We make available, free of charge, on our website in the &#8220;Company&#8221; section under the caption &#8220;Investor Information&#8221; followed by &#8220;Financial Information&#8221; and then &#8220;SEC FiIings,&#8221; our Annual Report on&#160;Form 10-K, Quarterly Reports on Form 10-Q, and Current Reports on Form 8-K, including exhibits, and amendments to those reports filed or furnished pursuant to Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934, as amended, as soon as reasonably practicable after such reports are electronically filed with, or furnished to, the SEC. &#160;Cognex&#8217;s reports filed with, or furnished to, the SEC are also available at the SEC&#8217;s website at www.sec.gov.  Information contained on our website is not a part of, or incorporated by reference into, this Annual Report on Form 10-K.</font></div><div><a name="s47C5A027B5C2302A5AAC77D7211FFB0C"></a></div><div style="line-height:120%;padding-top:12px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;1A:  RISK FACTORS</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The risks and uncertainties described below are not the only ones that we face.  Additional risks and uncertainties that we are unaware of, or that we currently deem immaterial, also may become important factors that affect our company in the future.  If any of these risks were to occur, our business, financial condition, or results of operations could be materially and adversely affected.  This section includes or refers to certain forward-looking statements.  We refer you to the explanation of the qualifications and limitations on such forward-looking statements, appearing under the heading "Forward-Looking Statements" in Part II - Item&#160;7 of this Annual Report on Form 10-K.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">The loss of a large customer could have an adverse effect on our business.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue from a single customer accounted for 19%, 18%, and 16% of total revenue in 2016, 2015, and 2014, respectively.  Customers of this size may divert management&#8217;s attention from other operational matters and pull resources from other areas of the business, resulting in potential loss of revenue from other customers. In addition, customers of this size may receive preferred pricing and a higher level of post-sale support, which may lower our gross margin percentage.  Furthermore, we have extended credit terms to this customer, resulting in large expenditures for inventory months in advance of cash collection, as well as large accounts receivable balances denominated in U.S. Dollars on our Irish subsidiary&#8217;s Euro-denominated books that exposes us to foreign currency gains or losses while these receivables are outstanding.  In certain instances due to long supplier lead times, we have purchased inventory in advance of receipt of a customer purchase order, which exposes us to an increased risk of excess or obsolete inventory and resulting charges.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As a large portion of our sales are through resellers however, there may be end customers of our resellers that are large consumers of our products.  Furthermore, there may be industry leaders that are able to exert purchasing power over their vendors' supply chains, particularly in the automotive and consumer electronics industries.  Our expansion within the factory automation marketplace has reduced our reliance upon the revenue from any one customer. Nevertheless, the loss of, or significant curtailment of purchases by, any one or more of our larger customers could have a material adverse effect on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Global economic conditions may negatively impact our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Our revenue levels are impacted by global economic conditions, as we have a significant business presence in many countries throughout the world.  If global economic conditions were to deteriorate, our revenue and our ability to generate operating profits could be materially adversely affected.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">6</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As a result of global economic conditions, our business is subject to the following risks, among others:</font></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">our customers may not have sufficient cash flow or access to financing to purchase our products,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">our customers may not pay us within agreed upon terms or may default on their payments altogether,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">our vendors may be unable to fulfill their delivery obligations to us in a timely manner,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">lower demand for our products may result in charges for excess and obsolete inventory if we are unable to sell inventory that is either already on hand or committed to purchase,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">lower cash flows may result in impairment charges for acquired intangible assets or goodwill,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">a decline in our stock price may make stock options a less attractive form of compensation and a less effective form of retention for our employees, and</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">the trading price of our common stock may be volatile.</font></div></td></tr></table><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, 2016, the Company had $745 million in cash and investments.  In addition, Cognex has no long-term debt and we do not anticipate needing debt financing in the near future.  We believe that our strong cash position puts us in a relatively good position to weather another economic downturn.  Nevertheless, our operating results have been materially adversely affected in the past, and could be materially adversely affected in the future, as a result of unfavorable economic conditions and reduced capital spending by manufacturers worldwide.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">A downturn in the consumer electronics or automotive industries may adversely affect our business.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2016, the largest industries that we served in the factory automation market were the consumer electronics and automotive industries.  Our business is impacted by the level of capital spending in these industries, as well as the product design cycles of our major customers in these industries.  The market leaders in these industries are able to exert purchasing power over their vendors' supply chains, and our large customers in these industries may decide to purchase fewer products from Cognex or stop purchasing from Cognex altogether.  As a result, our operating results could be materially and adversely affected by declining sales in these industries.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Our inability to penetrate new markets may impede our revenue growth.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We are pursuing applications in the automatic identification market outside of the manufacturing sector, such as using ID products in logistics automation for package sorting and distribution.  As shipping volumes grow, more distribution centers are choosing to upgrade their traditional laser-based scanners to image-based barcode readers, which will cost-effectively increase package sorter efficiency and throughput by improving read rates.  Cognex has introduced image-based barcode readers in order to penetrate the ID logistics market and grow our ID Products business beyond the traditional manufacturing sector that we currently serve.  Our growth plan is dependent upon successfully penetrating the ID logistics market and we are making significant investments in this area.  Therefore, our failure to generate revenue in this new market in the amounts or within the time periods anticipated may have a material adverse impact on our revenue growth and operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Economic, political, and other risks associated with international sales and operations could adversely affect our business and operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Recent political developments, including the Brexit vote in the U.K. and the presidential election in the U.S., may impact global economic conditions, and in turn, our revenue levels.  In 2016, approximately 74% of our revenue was derived from customers located outside of the United States.  We anticipate that international sales will continue to account for a significant portion of our revenue.  In addition, certain of our products are assembled by third-party contract manufacturers, primarily located in Indonesia.  We intend to continue to expand our sales and operations outside of the United States and expand our presence in international emerging markets.  As a result, our business is subject to the risks inherent in international sales and operations, including, among other things:</font></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">various regulatory and statutory requirements,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">difficulties in injecting and repatriating cash,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">export and import restrictions,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">transportation delays,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">employment regulations and local labor conditions,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">difficulties in staffing and managing foreign sales operations,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">instability in economic or political conditions,</font></div></td></tr></table><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">7</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">difficulties protecting intellectual property,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">business systems connectivity issues, and</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">potentially adverse tax consequences.</font></div></td></tr></table><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Any of these factors could have a material adverse effect on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fluctuations in foreign currency exchange rates and the use of derivative instruments to hedge these exposures could adversely affect our reported results, liquidity, and competitive position.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We face exposure to foreign currency exchange rate fluctuations, as a significant portion of our revenues, expenses, assets, and liabilities are denominated in currencies other than the functional currencies of our subsidiaries or the reporting currency of our company, which is the U.S. Dollar.  In certain instances, we utilize forward contracts to hedge against foreign currency fluctuations.  These contracts are used to minimize foreign currency gains or losses, as the gains or losses on the derivative are intended to offset the losses or gains on the underlying exposure. We do not engage in foreign currency speculation.  If the counterparty to any of our hedging arrangements experiences financial difficulties, or is otherwise unable to honor the terms of the contract, we may experience material losses.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Our foreign currency hedging program includes foreign currency cash flow hedges that protect our budgeted revenues and expenses against foreign currency exchange rate changes compared to our budgeted rates.  These derivatives are designated for hedge accounting, and therefore, the effective portion of the forward contract's gain or loss is reported in shareholders' equity as other comprehensive income (loss) and is reclassified into current operations as the hedged transaction impacts current operations.  Should these hedges fail to qualify for hedge accounting or be ineffective, the gain or loss on the forward contract would be reported in current operations immediately as opposed to when the hedged transaction impacts current operations.  This may result in material foreign currency gains or losses.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The success of our foreign currency risk management program depends upon forecasts of transaction activity denominated in various currencies.  To the extent that these forecasts are overstated or understated during periods of currency volatility, we could experience unanticipated foreign currency gains or losses that could have a material impact on our results of operations.  Furthermore, our failure to identify new exposures and hedge them in an effective manner may result in material foreign currency gains or losses.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A significant portion of our revenues and expenses are denominated in the Euro, the Japanese Yen, and the Chinese Yuan, also known as Renminbi.  Our predominant currency of sale is the U.S.&#160;Dollar in the Americas, the Euro and U.S. Dollar in Europe, the Yuan in Mainland China, the Yen in Japan, and the U.S. Dollar in other regions.  We estimate that approximately 43% of our sales in 2016 were invoiced in currencies other than the U.S.&#160;Dollar, and we expect sales denominated in foreign currencies to continue to represent a significant portion of our total revenue.  While we also have expenses denominated in these same foreign currencies, the impact on revenues has historically been, and is expected to continue to be, greater than the offsetting impact on expenses.  Therefore, in times when the U.S.&#160;Dollar strengthens in relation to these foreign currencies, we would expect to report a net decrease in operating income.  Conversely, in times when the U.S.&#160;Dollar weakens in relation to these foreign currencies, we would expect to report a net increase in operating income.  Thus, changes in the relative strength of the U.S.&#160;Dollar may have a material impact on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Information security breaches or business system disruptions may adversely affect our business.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We rely on our information technology infrastructure and management information systems to effectively run our business.  We may be subject to information security breaches caused by hacking, malicious software, or acts of vandalism or terrorism.  Our security measures or those of our third-party service providers may not detect or prevent such breaches.  Any such compromise to our information security could result in theft of our intellectual property, a misappropriation of our cash or other assets, an interruption in our operations, the unauthorized publication of our confidential business or proprietary information, the unauthorized release of customer, vendor, or employee data, the violation of privacy or other laws, and the exposure to litigation, any of which could harm our business and operating results. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">8</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Disruptions with our management information systems may cause significant business disruption.  In 2017, we expect to begin work to replace our Enterprise Resource Planning (ERP) system, which is the management information system that integrates our manufacturing, order fulfillment, and financial activities.  We expect the new system to be placed into service either late in 2017 or early in 2018.  Replacing an ERP system is a significant investment in terms of both time and money, and may divert management's attention from other operational matters.  The conversion from the old system to the new system may result in significant business disruption, including our ability to process orders, ship products, invoice customers, process payments, and otherwise run our business.  Any disruption occurring with our ERP system, or any of our other management information systems, may have a material adverse effect on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Our business could suffer if we lose the services of, or fail to attract, key personnel.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We are highly dependent upon the management and leadership of Robert J. Shillman, our Chairman of the Board of Directors and Chief Culture Officer, and Robert J. Willett, our President and Chief Executive Officer, as well as other members of our senior management team.  Although we have many experienced and qualified senior managers, the loss of key personnel could have a material adverse effect on our company.  Our continued growth and success also depends upon our ability to attract and retain skilled employees and on the ability of our officers and key employees to effectively manage the growth of our business through the implementation of appropriate management information systems and internal controls.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We have historically used stock options as a key component of our employee compensation program in order to align employee interests with the interests of our shareholders, provide competitive compensation and benefits packages, and encourage employee retention.  We are limited as to the number of options that we may grant under our stock option plans.  Accordingly, we may find it difficult to attract, retain, and motivate employees, and any such difficulties could materially adversely affect our business.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">The failure of a key supplier to deliver quality product in a timely manner or our inability to obtain components for our products could adversely affect our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A significant portion of our product is manufactured by a third-party contractor located in Indonesia.  This contractor has agreed to provide Cognex with termination notification periods and last-time-buy rights, if and when that may be applicable.  We rely upon this contractor to provide quality product and meet delivery schedules.  We engage in extensive product quality programs and processes, including actively monitoring the performance of our third-party manufacturers; however, we may not detect all product quality issues through these programs and processes.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certain components are presently sourced from a single vendor that is selected based on price and performance considerations.  In the event of a supply disruption from a single-source vendor, these components may be purchased from an alternative vendor, which may result in manufacturing delays based on the lead time of the new vendor.  Certain key electronic and mechanical components that are purchased from strategic suppliers, such as processors or imagers, are fundamental to the design of Cognex products.  A disruption in the supply of these key components, such as a last-time-buy announcement, natural disaster, financial bankruptcy, or other event, may require us to purchase a significant amount of inventory at unfavorable prices resulting in lower gross margins and higher risk of carrying excess inventory. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We are subject to the requirements of the Dodd-Frank Wall Street Reform and Consumer Protection Act that obligates companies to inquire into the origin of conflict minerals in their supply chains.  We are working with our supply chain partners to take reasonable steps to assure conflict minerals are not sourced by Cognex or our supply chain partners. These steps may include purchasing supply from alternative vendors. If we are unable to secure adequate supply from alternative vendors, we may have to redesign our products, which may lead to a delay in manufacturing and a possible loss of sales.  Although we are taking certain actions to mitigate supply risk, an interruption in, termination of, or material change in the purchase terms of any key components could have a material adverse effect on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Our failure to effectively manage product transitions or accurately forecast customer demand could result in excess or obsolete inventory and resulting charges.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Because the market for our products is characterized by rapid technological advances, we frequently introduce new products with improved ease-of-use, improved hardware performance, additional software features and functionality, or lower cost that may replace existing products.  Among the risks associated with the introduction of new products are difficulty predicting customer demand and effectively managing inventory levels to ensure adequate supply of the new product and avoid excess supply of the legacy product. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">9</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We may strategically enter into non-cancelable commitments with vendors to purchase materials for our products in advance of demand to take advantage of favorable pricing or address concerns about the availability of future supplies or long lead times.  This practice may expose us to an increased risk of excess or obsolete inventory and resulting charges if actual demand is lower than anticipated.  Our failure to effectively manage product transitions or accurately forecast customer demand, in terms of both volume and configuration, has led to, and may again in the future lead to, an increased risk of excess or obsolete inventory and resulting charges.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Our products may contain design or manufacturing defects, which could result in reduced demand, significant delays, or substantial costs.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">If flaws in either the design or manufacture of our products were to occur, we could experience a rate of failure in our products that could result in significant delays in shipment and material repair or replacement costs.  Our release-to-market process may not be robust enough to detect significant design flaws or software bugs.  While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and contract manufacturers, these actions may not be sufficient to avoid a product failure rate that results in:</font></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">substantial delays in shipment,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">significant repair or replacement costs,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">product liability claims or lawsuits, or</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">potential damage to our reputation.</font></div></td></tr></table><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Any of these results could have a material adverse effect on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Our failure to introduce new products in a successful and timely manner could result in the loss of our market share and a decrease in our revenues and profits.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The market for our products is characterized by rapidly changing technology.  Accordingly, we believe that our future success will depend upon our ability to accelerate time-to-market for new products with improved functionality, ease-of-use, performance, or price.  There can be no assurance that we will be able to introduce new products in accordance with scheduled release dates or that new products will achieve market acceptance.  Our ability to keep pace with the rapid rate of technological change in the high-technology marketplace could have a material adverse effect on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Product development is often a complex, time-consuming, and costly process involving significant investment in research and development with no assurance of return on investment.  Our strong balance sheet allows us to continue to make significant investments in research, development, and marketing for new products and technologies.  Research is by its nature speculative and the ultimate commercial success of a product depends upon various factors, many of which are not under our control.  We may not achieve significant revenue from new product investments for a number of years, if at all.  Moreover, new products may not generate the operating margins that we have experienced historically.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Our failure to properly manage the distribution of our products and services could result in the loss of revenues and profits.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We utilize a direct sales force, as well as a network of integration and distribution partners, to sell our products and services.  Successfully managing the interaction of our direct and indirect sales channels to reach various potential customers for our products and services is a complex process.  In addition, our reliance upon indirect selling methods may reduce visibility to demand and pricing issues.  Each sales channel has distinct risks and costs, and therefore, our failure to implement the most advantageous balance in the sales model for our products and services could adversely affect our revenue and profitability.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">If we fail to successfully protect our intellectual property, our competitive position and operating results could suffer.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We rely on our proprietary software technology and hardware designs, as well as the technical expertise, creativity, and knowledge of our personnel to maintain our position as a leading provider of machine vision products.  Software piracy and reverse engineering, specifically from companies in Russia and Asia, may result in counterfeit products that are misrepresented in the market as Cognex products.  Although we use a variety of methods to protect our intellectual property, we rely most heavily on patent, trademark, copyright, and trade secret protection, as well as non-disclosure agreements with customers, suppliers, employees, and consultants.  We also attempt to protect our intellectual property by restricting access to our proprietary information by a combination of technical and internal security measures.  These measures, however, may not be adequate to:</font></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">protect our proprietary technology,</font></div></td></tr></table><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">10</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">protect our patents from challenge, invalidation, or circumvention, or</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ensure that our intellectual property will provide us with competitive advantages.</font></div></td></tr></table><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Any of these adverse circumstances could have a material adverse effect on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Our Company may be subject to time-consuming and costly litigation.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">From time to time, we may be subject to various claims and lawsuits by competitors, customers, or other parties arising in the ordinary course of business, including lawsuits charging patent infringement, or claims and lawsuits instituted by us to protect our intellectual property or for other reasons.  We may be a party to actions that are described in the section captioned &#8220;Legal Proceedings,&#8221; appearing in Part I - Item&#160;3 of this Annual Report on Form 10-K.  These matters can be time-consuming, divert management&#8217;s attention and resources, and cause us to incur significant expenses. Furthermore, the results of any of these actions may have a material adverse effect on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Increased competition may result in decreased demand or prices for our products and services.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The machine vision market is fragmented and Cognex&#8217;s competitors are typically other vendors of machine vision systems, controllers, and components; manufacturers of image processing systems, sensors, and components; and system integrators.  Any of these competitors may have greater financial and other resources than we do.  Ease-of-use and product price are significant competitive factors in the factory automation marketplace.  We may not be able to compete successfully in the future and our investments in research and development, sales and marketing, and support activities may be insufficient to enable us to maintain our competitive advantage.  In addition, competitive pressures could lead to price erosion that could have a material adverse effect on our gross margins and operating results.  We refer you to the section captioned &#8220;Competition,&#8221; appearing in Part I - Item&#160;1 of this Annual Report on Form 10-K for further information regarding the competition that we face.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Implementation of our acquisition strategy may not be successful, which could affect our ability to increase our revenue or profitability and result in the impairment of acquired intangible assets.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We have in the past acquired, and will in the future consider the acquisition of, businesses and technologies in the machine vision industry. Our business may be negatively impacted by risks related to those acquisitions.  These risks include, among others:</font></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">the inability to find or close attractive acquisition opportunities,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">the diversion of management&#8217;s attention from other operational matters,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">the inability to realize expected synergies resulting from the acquisition,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:Arial;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">difficulties or delays in integrating the personnel, operations, technologies, products and systems of acquired businesses,</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">the failure to retain key customers or employees, and</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:108px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:65px;"><font style="font-family:inherit;font-size:10pt;">&#8226;</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">the impairment of acquired intangible assets resulting from lower-than-expected cash flows from the acquired assets.</font></div></td></tr></table><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisitions are inherently risky and the inability to effectively manage these risks could have a material adverse effect on our operating results.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">We are at risk for impairment charges with respect to our investments or for acquired intangible assets or goodwill, which could have a material adverse effect on our results of operations.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, 2016, our investment portfolio of debt securities totaled $666 million.  These debt securities are reported at fair value, with unrealized gains and losses, net of tax, recorded in shareholders&#8217; equity as other comprehensive income (loss) since these securities are designated as available-for-sale securities. </font><font style="font-family:Arial;font-size:10pt;color:#ff0000;">&#32;</font><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, 2016, our portfolio of debt securities had a net unrealized gain of $65,000.  Included in this net gain, were gross unrealized losses totaling $848,000, of which $814,000 were in a loss position for less than twelve months and $34,000 were in a loss position for greater than twelve months.  As of December&#160;31, 2016, these unrealized losses were determined to be temporary.  However, if conditions change and future unrealized losses were determined to be other-than-temporary, we would be required to record an impairment charge.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management monitors the carrying value of its debt securities compared to their fair value to determine whether an other-than-temporary impairment has occurred.  In considering whether a decline in fair value is other-than-temporary, we consider many factors, both qualitative and quantitative.  Management considers the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our ability and intent to hold the security to expected recovery of value, and other meaningful information.  If a decline in fair value is determined to be other-than-temporary, an impairment charge would be recorded in current operations to </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">11</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">reduce the carrying value of the investment to its fair value.  Should the fair value of investments decline in future periods below their carrying value, management will need to determine whether this decline is other-than-temporary and future impairment charges may be required.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, 2016, we had $95 million in acquired goodwill.  The fair value of goodwill is susceptible to changes in the fair value of the reporting segment in which the goodwill resides, and therefore, a decline in our market capitalization or cash flows relative to our net book value may result in future impairment charges.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, 2016, we had $8 million in acquired intangible assets, consisting primarily of acquired completed technologies and customer relationships.  These assets are susceptible to changes in fair value due to a decrease in the historical or projected cash flows from the use of the asset, which may be negatively impacted by economic trends. A decline in the cash flows generated by these assets, such as the revenue we are able to generate through our distribution network, may result in future impairment charges.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">If we determine that any of these investments, goodwill, or intangible assets is impaired, we would be required to take a related charge to earnings that could have a material adverse effect on our results of operations.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">We may have additional tax liabilities, which could adversely affect our operating results and financial condition.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We are subject to income taxes in the United States, as well as numerous foreign jurisdictions.  Significant judgment is required in determining our worldwide provision for income taxes.  In the ordinary course of business, there are many transactions and calculations where the ultimate tax determination is uncertain.  We are regularly under audit by tax authorities.  Although we believe our tax positions are reasonable, the final determination of tax audits and any related litigation could be materially different than that which is reflected in our financial statements and could have a material adverse effect on our income tax provision, net income, or cash flows in the period in which the determination is made.</font></div><div><a name="s9D0EEEB67A41E4900AFA77D72F27E37E"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 1B:  UNRESOLVED STAFF COMMENTS</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">None</font></div><div><a name="sCE3B27DFDD4E98F58D0777D72F48ECE4"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 2:  PROPERTIES</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 1994, Cognex purchased and renovated a 100,000 square-foot building located in Natick, Massachusetts that serves as our corporate headquarters and is occupied by employees primarily in research, development and engineering, manufacturing and quality assurance, and information technology, finance and administration functions.  In 1997, Cognex completed construction of a 50,000 square-foot addition to this building. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 1995, Cognex purchased an 83,000 square-foot office building adjacent to our corporate headquarters that is partially occupied by employees primarily in sales, marketing, and service functions.  The remainder of this building is occupied by a tenant who has a lease agreement that expires in 2021. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 1997, Cognex purchased a three and one-half acre parcel of land adjacent to our corporate headquarters.  This land is being held for future expansion.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2007, Cognex purchased a 19,000 square-foot building adjacent to our corporate headquarters.  A portion of this facility serves as the distribution center for customers in the Americas.  The remainder of this building is occupied by a tenant who has a lease agreement that expires in 2017 with a renewal option to extend the lease for five additional years.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2014, Cognex purchased the 50,000 square foot building in Cork, Ireland where we had previously leased space for several years.  This facility serves as the distribution center for customers outside of the Americas. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex conducts certain of its operations in leased facilities.  These lease agreements expire at various dates through 2024.  Certain of these leases contain renewal options, retirement obligations, escalation clauses, rent holidays, and leasehold improvement incentives.</font></div><div><a name="sA51C238EED72180DA45177D72F77526A"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 3:  LEGAL PROCEEDINGS</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Various claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company.  While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.</font></div><div><a name="s1C3A2F674BE5D29CE37B77D72F9BED07"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 4:  MINE SAFETY DISCLOSURES</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Not applicable.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">12</font></div></div><hr style="page-break-after:always"><div><a name="sB3EB5C7C469E7F73CC5F77D72FCBF4D3"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 4A:  EXECUTIVE OFFICERS OF THE REGISTRANT</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table sets forth the names, ages, and titles of Cognex&#8217;s executive officers as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">:</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:19%;"></td><td style="width:1%;"></td><td style="width:5%;"></td><td style="width:1%;"></td><td style="width:74%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Name</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Age</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Title</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert&#160;J.&#160;Shillman</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">70</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Chairman of the Board of Directors and Chief Culture Officer</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">49</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Richard A. Morin</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Executive Vice President of Finance and Administration and Chief Financial Officer</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Executive officers are elected annually by the Board of Directors.  There are no family relationships among the directors and executive officers of the Company.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Dr.&#160;Shillman, Mr. Willett, and Mr.&#160;Morin have been employed by Cognex for no less than the past five years.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">13</font></div></div><hr style="page-break-after:always"><div><a name="s7AD86D8348D7DD902A7F77D72FEECE8B"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-bottom:12px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART II</font></div><div><a name="sE1417210364AD95F4E2277D721201A45"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;5:  MARKET FOR REGISTRANT&#8217;S COMMON EQUITY, RELATED STOCKHOLDER MATTERS, AND ISSUER PURCHASES OF EQUITY SECURITIES</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s common stock is traded on The NASDAQ Stock Market LLC, under the symbol CGNX.  As of </font><font style="font-family:Arial;font-size:10pt;">January&#160;29, 2017</font><font style="font-family:Arial;font-size:10pt;">, there were approximately 725 shareholders of record of the Company&#8217;s common stock.  The Company believes the number of beneficial owners of the Company&#8217;s common stock on that date was substantially greater.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The high and low sales prices of the Company&#8217;s common stock as reported by the NASDAQ Stock Market for each quarter in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">&#32;were as follows:</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"></td></tr><tr><td style="width:45%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">First</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Second</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Third</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Fourth</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2016</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">High</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41.58</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45.23</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">53.46</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">65.95</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Low</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">28.01</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35.15</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41.93</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">49.68</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2015</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">High</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">50.57</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">52.48</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">48.56</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38.06</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Low</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">36.12</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">44.84</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32.35</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32.40</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s Board of Directors declared and paid cash dividends of $0.07 per share in the second, third, and fourth quarters of 2015, as well as in the first quarter of 2016.  The dividend was increased to $0.075 per share in the second, third, and fourth quarters of 2016.  The cash dividend in the second quarter of 2015 was the first dividend declared and paid since the fourth quarter of 2012 when the Company's Board of Directors accelerated dividends in advance of an increase in the federal tax on dividends paid after December 31, 2012.  Future dividends will be declared at the discretion of the Company's Board of Directors and will depend upon such factors as the Board deems relevant, including, among other things, the Company's ability to generate positive cash flow from operations.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In November 2015, the Company&#8217;s Board of Directors authorized the repurchase of $100,000,000 of the Company&#8217;s common stock.  Purchases under this program began in the third quarter of 2016 when the prior program was completed. During the fourth quarter of 2016, the Company repurchased 480,000 shares at a cost of $28,208,000 under this program.  The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table sets forth information with respect to purchases by the Company of shares of its common stock during the fourth quarter of 2016:</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:34%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total Number of</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Shares&#160;Purchased</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Price&#160;Paid</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">per Share</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total Number of</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Shares&#160;Purchased&#160;as</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Part of Publicly</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Announced Plans or</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Programs</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Approximate Dollar</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Value of Shares that</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">May Yet Be</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Purchased&#160;Under&#160;the</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Plans or Programs</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">October 3 - October 30, 2016</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,123,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">October 31 - November 27, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">210,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55.43</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">210,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">85,481,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">November 28 - December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">270,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">61.35</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">270,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">68,915,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">480,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">58.76</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">480,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">68,915,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">14</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Set forth below is a line graph comparing the annual percentage change in the cumulative total shareholder return on the Company&#8217;s common stock, based upon the market price of the Company&#8217;s common stock, with the total return on companies within the Nasdaq Composite Index and the Research Data Group, Inc. Nasdaq Lab Apparatus&#160;&amp; Analytical, Optical, Measuring&#160;&amp; Controlling Instrument (SIC 3820-3829 US Companies) Index (the &#8220;Nasdaq Lab Apparatus Index&#8221;).  The performance graph assumes an investment of $100 in each of the Company and the two indices, and the reinvestment of any dividends.  The historical information set forth below is not necessarily indicative of future performance.  Data for the Nasdaq Composite Index and the Nasdaq Lab Apparatus Index was provided to the Company by Research Data Group, Inc.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;"><img src="cgnx-201412_chartx59625a02.jpg" alt="cgnx-201412_chartx59625a02.jpg" style="height:533px;width:666px;"></div><div style="line-height:120%;text-align:justify;font-size:14pt;"><font style="font-family:inherit;font-size:14pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:14pt;"><font style="font-family:inherit;font-size:14pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:14pt;"><font style="font-family:inherit;font-size:14pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:98.4375%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"></td></tr><tr><td style="width:41%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td></tr><tr><td colspan="18" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">*$100 invested on 12/31/2011 in stock or index, including reinvestment of dividends.  Fiscal year ended December 31.</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">12/11</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">12/12</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">12/13</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">12/14</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">12/15</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">12/16</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Cognex Corporation</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">100.00</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">107.14</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">222.37</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">240.72</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">197.74</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">374.87</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">NASDAQ Composite</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">100.00</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">116.41</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">165.47</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">188.69</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">200.32</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">216.54</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">NASDAQ Stocks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">100.00</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">123.10</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">172.11</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">206.60</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">206.13</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">213.94</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td colspan="15" style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-style:italic;font-weight:bold;">(SIC 3820-3829 U.S. Companies) Lab Apparatus &amp; Analyt,Opt, Measuring, and Controlling Instr</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">15</font></div></div><hr style="page-break-after:always"><div><a name="sEB87EC3ED844E4A3D9CC77D72122872C"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;6:&#160;&#160;SELECTED FINANCIAL DATA</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"></td></tr><tr><td style="width:41%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="19" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2013</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2012</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="19" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands, except per share amounts)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Statement of Operations Data:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">520,753</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">450,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">426,449</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">307,651</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">273,696</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Cost of revenue (1)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">115,590</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">102,571</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">94,067</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">62,889</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,161</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Gross margin</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">405,163</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">347,986</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">332,382</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">244,762</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">217,535</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Research, development, and engineering expenses (1)</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">78,269</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,791</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,831</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">44,315</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,975</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Selling, general, and administrative expenses (1)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">166,110</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">156,674</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">148,699</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">123,509</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108,670</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Operating income</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">160,784</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">121,521</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">127,852</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">76,938</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">70,890</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Non-operating income</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,011</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,441</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,904</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,518</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,223</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Income from continuing operations before income tax expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">168,795</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">126,962</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131,756</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">78,456</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">74,113</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Income tax expense on continuing operations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,968</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">19,298</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20,915</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,273</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,386</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Net income from continuing operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">149,827</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">107,664</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">110,841</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,183</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,727</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Net income (loss) from discontinued operations (1)</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(255</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">79,410</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,644</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,390</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,371</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Net income </font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">149,572</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">187,074</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">121,485</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">73,573</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">68,098</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Basic earnings per weighted-average common and common-equivalent share (2):</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Net income from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.76</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.25</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.28</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.77</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.70</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Net income (loss) from discontinued operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(0.01</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.92</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.12</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.08</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.09</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Net income</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.75</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.17</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.40</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.85</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.79</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Diluted earnings per weighted-average common and common-equivalent share (2):</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Net income from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.72</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.22</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.24</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.76</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.68</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Net income (loss) from discontinued operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.91</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.07</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.10</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Net income</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.72</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.36</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.83</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.78</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Weighted-average common and common-equivalent shares outstanding (2):</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Basic</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">85,338</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,296</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,858</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,946</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">85,666</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Diluted</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">87,072</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">87,991</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">89,071</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">88,901</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">87,280</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Cash dividends per common share (2)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.30</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.21</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.77</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">(1) Amounts include stock-based compensation expense, as follows:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,052</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,515</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,116</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">820</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">637</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,271</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,194</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,709</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,502</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,107</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,235</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,032</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,234</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,461</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,216</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,533</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">837</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">560</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Total stock-based compensation expense</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20,558</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,274</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,158</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,620</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,520</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="20" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">(2)  Prior period results have been adjusted to reflect the two-for-one stock split effected in the form of a stock dividend which occurred in 2013.</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="19" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December 31,</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2013</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2012</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="19" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Balance Sheet Data:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Working capital</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;font-weight:bold;">460,571</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">390,806</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">182,252</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">270,549</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">190,761</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Total assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;font-weight:bold;">1,038,604</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">887,756</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">821,734</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">709,699</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">627,605</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">Shareholders&#8217; equity</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;font-weight:bold;">962,599</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">825,667</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">736,437</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">643,912</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">572,285</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">16</font></div></div><hr style="page-break-after:always"><div><a name="s475C0925D6940EE9CD8877D72CE60C48"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;7:&#160;&#160;MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">FORWARD-LOOKING STATEMENTS</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certain statements made in this report, as well as oral statements made by the Company from time to time, constitute forward-looking statements within the meaning of Section&#160;27A of the Securities Act of 1933, as amended, and Section&#160;21E of the Securities Exchange Act of 1934, as amended. Readers can identify these forward-looking statements by our use of the words &#8220;expects,&#8221; &#8220;anticipates,&#8221; &#8220;estimates,&#8221; &#8220;believes,&#8221; &#8220;projects,&#8221; &#8220;intends,&#8221; &#8220;plans,&#8221; &#8220;will,&#8221; &#8220;may,&#8221; &#8220;shall,&#8221; &#8220;could,&#8221; &#8220;should,&#8221; and similar words and other statements of a similar sense.  These statements are based upon our current estimates and expectations as to prospective events and circumstances, which may or may not be in our control and as to which there can be no firm assurances given.  These forward-looking statements, which include statements regarding business and market trends, future financial performance, customer order rates, expected areas of growth, emerging markets, future product mix, research and development activities, investments, and strategic plans, involve known and unknown risks and uncertainties that could cause actual results to differ materially from those projected. Such risks and uncertainties include: (1)&#160;the loss of a large customer; (2)&#160;current and future conditions in the global economy; (3)&#160;the reliance on revenue from the consumer electronics or automotive industries; (4)&#160;the inability to penetrate new markets; (5)&#160;the inability to achieve significant international revenue; (6)&#160;fluctuations in foreign currency exchange rates and the use of derivative instruments; (7)&#160;information security breaches or business system disruptions; (8)&#160;the inability to attract and retain skilled employees; (9)&#160;the reliance upon key suppliers to manufacture and deliver critical components for our products; (10)&#160;the failure to effectively manage product transitions or accurately forecast customer demand; (11)&#160;the inability to design and manufacture high-quality products; (12)&#160;the technological obsolescence of current products and the inability to develop new products; (13)&#160;the failure to properly manage the distribution of products and services; (14)&#160;the inability to protect our proprietary technology and intellectual property; (15)&#160;our involvement in time-consuming and costly litigation; (16)&#160;the impact of competitive pressures; (17)&#160;the challenges in integrating and achieving expected results from acquired businesses; (18)&#160;potential impairment charges with respect to our investments or for acquired intangible assets or goodwill; and (19)&#160;exposure to additional tax liabilities.  The foregoing list should not be construed as exhaustive and we encourage readers to refer to the detailed discussion of risk factors included in Part I - Item&#160;1A of this Annual Report on Form 10-K.  The Company cautions readers not to place undue reliance upon any such forward-looking statements, which speak only as of the date made. The Company disclaims any obligation to subsequently revise forward-looking statements to reflect the occurrence of anticipated or unanticipated events or circumstances after the date such statements are made.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">EXECUTIVE OVERVIEW</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation is a leading worldwide provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, where vision is required.  On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD) that specialized in machine vision products that inspect the surfaces of materials processed in a continuous fashion.  The financial results of SISD are reported as a discontinued operation for all periods presented.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In addition to product revenue derived from the sale of machine vision products, the Company also generates revenue by providing maintenance and support, consulting, and training services to its customers; however, service revenue accounted for less than 10% of total revenue for all periods presented.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s customers are predominantly in the factory automation market.  Factory automation customers purchase Cognex products and incorporate them into their manufacturing processes.  Customers in the consumer electronics and automotive industries contribute the largest percentage to the Company's factory automation revenue.  Virtually every manufacturer can achieve better quality and manufacturing efficiency by using machine vision, and therefore, this market also includes a broad base of customers across a variety of other industries, including consumer products, food and beverage, medical devices, and pharmaceuticals.  Factory automation customers also purchase Cognex products for use outside of the manufacturing process, such as using ID products in logistics automation for package sorting and distribution.  Sales to factory automation customers represented 96% of total revenue in 2016 compared to 95% of total revenue in 2015.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A small percentage of the Company&#8217;s customers are in the semiconductor and electronics capital equipment market.  These customers purchase Cognex products and integrate them into the automation equipment that they manufacture and then sell to their customers to either make semiconductor chips or assemble printed circuit boards.  Demand from these customers has been relatively flat on an annual basis for the past several years.  Sales to semiconductor and electronics capital equipment manufacturers represented only 4% of total revenue in 2016 compared to 5% of total revenue in 2015.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:108px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">17</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;"><br></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for the year ended December&#160;31, 2016 totaled $520,753,000, representing an increase of $70,196,000, or 16%, from the prior year.  Revenue increased from 2015 in all major regions across a variety of industries, including the consumer electronics, automotive, and logistics industries.  Gross margin was 78% of revenue in 2016 compared to 77% of revenue in 2015.  Operating expenses increased by $17,914,000, or 8%</font><font style="font-family:inherit;font-size:10pt;">,</font><font style="font-family:Arial;font-size:10pt;">&#32;from the prior year due to higher incentive compensation plan accruals and higher personnel-related costs resulting primarily from headcount additions. Operating income was $160,784,000, or 31% of revenue, in 2016 compared to $121,521,000, or 27% of revenue, in 2015; net income from continuing operations was $149,827,000, or 29% of revenue, in 2016 compared to $107,664,000, or 24% of revenue, in 2015; and net income from continuing operations per diluted share was $1.72 in 2016 compared to $1.22 in 2015.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table sets forth certain consolidated financial data for continuing operations as a percentage of revenue:</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="9"></td></tr><tr><td style="width:56%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;text-decoration:underline;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;text-decoration:underline;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">100</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">22</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">78</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">78</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">15</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">32</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Operating income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">31</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-operating income</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income from continuing operations before income tax expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">32</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">28</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense on continuing operations</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income from continuing operations</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">24</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr></table></div></div><div><a name="s3F7C0123F115F4BB595177D72A47D310"></a></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">RESULTS OF OPERATIONS</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As foreign currency exchange rates are a factor in understanding period-to-period comparisons, we believe the presentation of results on a constant-currency basis in addition to reported results helps improve investors&#8217; ability to understand our operating results and evaluate our performance in comparison to prior periods.  We also use results on a constant-currency basis as one measure to evaluate our performance.&#160; Constant-currency information compares results between periods as if exchange rates had remained constant period-over-period.  We generally refer to such amounts calculated on a constant-currency basis as excluding the impact of foreign currency exchange rate changes.  Results on a constant-currency basis are not in accordance with accounting principles generally accepted in the United States of America (U.S. GAAP) and should be considered in addition to, and not as a substitute for, results prepared in accordance with U.S. GAAP.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Year Ended December&#160;31, 2016 Compared to Year Ended December&#160;31, 2015 </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for the year ended December&#160;31, 2016 increased by $70,196,000, or 16%, from the prior year.  Changes in  foreign currency exchange rates did not have a material impact on revenue.  Revenue from factory automation customers increased by $70,737,000, or 17%, while revenue from semiconductor and electronics capital equipment manufacturers, which represented only 4% of revenue in 2016 and 5% of revenue in 2015, decreased by $541,000, or 2%, from the prior year.  </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The increase in factory automation revenue was due in part to higher revenue from a material customer in the consumer electronics industry.  Revenue from all other factory automation customers increased from the prior year by 15% due to a higher volume of machine vision products sold.  This increase from all other factory automation customers came from all major regions, including a 12% increase from customers based in the Americas, a 17% increase from customers based in Europe, and a 19% increase from customers based in Asia.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Gross Margin</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin as a percentage of revenue was 78% in 2016 compared to 77% in 2015.  The increase in gross margin was due primarily to the favorable impact of material cost reductions and volume purchasing, as well as manufacturing efficiencies achieved from a higher revenue level as fixed manufacturing costs were spread over a larger revenue base.  These increases were partially offset by a trend toward higher hardware content in our product sales as we </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">18</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">move away from software-only solutions, higher inventory charges, and an increased level of projects in the logistics industry that require installation services with lower margins.  </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Operating Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Research, Development, and Engineering Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering (RD&amp;E) expenses in 2016 increased by $8,478,000, or 12%, from the prior year as detailed in the table below (in thousands).</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses in 2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,791</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Personnel-related costs</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,615</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Incentive compensation plans</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,067</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">782</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses in 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">78,269</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses increased due to higher personnel-related costs resulting primarily from headcount additions to support new product initiatives and the higher business level.  These headcount additions included engineering talent from four business acquisitions completed in the last few months of 2016 that are expected to help accelerate the development of future products.  In addition, higher incentive compensation plan accruals were recorded in 2016 as a result of higher achievement levels based upon the Company's performance.  Stock-based compensation expense was also higher than the prior year. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses as a percentage of revenue were 15% in both 2016 and 2015.  We believe that a continued commitment to RD&amp;E activities is essential in order to maintain or achieve product leadership with our existing products and to provide innovative new product offerings, as well as to provide engineering support for large customers.  In addition, we consider our ability to accelerate time to market for new products to be critical to our revenue growth.  Therefore, we expect to continue to make significant RD&amp;E investments in the future, and we target our annual RD&amp;E spending to be between 10% and 15% of revenue.  This percentage is impacted by revenue levels and investing cycles.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Selling, General, and Administrative Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative (SG&amp;A) expenses in 2016  increased by $9,436,000, or 6%, from the prior year as detailed in the table below (in thousands). </font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in 2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">156,674</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Incentive compensation plans</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,388</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Personnel-related costs</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,232</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sales demonstration equipment</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,159</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Depreciation expense</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,500</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Microscan legal fees and settlement</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5,023</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,180</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">166,110</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses increased due to higher incentive compensation plan accruals, including sales commission plans and bonus plans as a result of higher achievement levels based upon the Company's performance.  In addition, personnel-related costs were higher in 2016 resulting from headcount additions, principally sales personnel.  The Company also increased its spending on sales demonstration equipment related to new products and incurred higher depreciation expense related primarily to information technology and facilities investments.  Offsetting these increases was the settlement of patent litigation actions with Microscan Systems, Inc. in 2015.  The company recorded legal fees of $3,190,000 and a settlement expense of $1,833,000 related to these actions in 2015.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-operating Income (Expense)</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded foreign currency gains of $101,000 in 2016 and $1,122,000 in 2015.  The foreign currency gains in each period resulted primarily from the revaluation and settlement of accounts receivable, accounts payable, and intercompany balances that are reported in one currency and collected in another.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Investment income increased by $3,365,000, or 92%, from the prior year.  In 2016, the Company received $2,257,000 in cash distributions from its limited partnership investment, of which $942,000 was accounted for as a return of capital, reducing the carrying value of this investment to zero, with the remaining $1,315,000 recorded as investment income. As of December 31, 2016, the fair value of this investment was approximately $5,700,000.  Future distributions will </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">19</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">be recorded as investment income as they occur.  The remaining increase in investment income was due to increased funds available for investment, as well as higher yields on the Company's portfolio of debt securities.  </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded other income of $871,000 in 2016 and $645,000 in 2015.  Other income included a benefit of $463,000 in 2016 and $790,000 in 2015 resulting from a decrease in the fair value of the contingent consideration liability that arose from a 2015 business acquisition (refer to Note 20 to the Consolidated Financial Statements in Part II - Item 8 of this Annual Report on Form 10-K for further information).  Other income also included a foreign government subsidy of $422,000 in 2016 and $268,000 in 2015.  In addition, other income (expense) included rental income, net of associated expenses, from leasing space in buildings adjacent to the Company&#8217;s corporate headquarters.  Rental expenses declined from the prior year, while rental income was relatively flat. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Income Tax Expense</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s effective tax rate was 11% of the Company&#8217;s pre-tax income in 2016 compared to 15% in 2015.</font></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The effective tax rate for 2016 included a decrease in tax expense of $11,889,000 from the excess tax benefit arising from the difference between the deduction for tax purposes and the compensation cost recognized for financial reporting purposes from stock option exercises.  In 2016, the Company adopted Accounting Standards Update 2016-09, "Improvements to Employee Share-Based Payment Accounting," which was issued by the Financial Accounting Standards Board in March 2016.  This Update requires excess tax benefits to be recognized as income tax benefit in the income statement.  Previous guidance required excess tax benefits to be recognized as additional paid-in-capital in shareholders' equity on the balance sheet.  The effective tax rate for 2016 also included the impact of the following additional discrete tax events: (1) a decrease in tax expense of $893,000 from the expiration of the statutes of limitations for certain reserves for income tax uncertainties, (2) a decrease in tax expense of $439,000 from the final true-up of the prior-year's tax accrual upon filing the actual tax returns, (3) an increase in tax expense of $547,000 from a 5% withholding tax triggered by the movement of intellectual property purchased as part of a foreign business acquisition, and (4) an increase in tax expense of $1,260,000 from the write-off of a deferred tax asset related to foreign branches resulting from an IRS rule change. </font></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The effective tax rate for 2015 included the impact of the following discrete tax events: (1) a decrease in tax expense of $1,105,000 from the final true-up of the prior year&#8217;s tax accrual upon filing the actual tax returns, (2) a decrease in tax expense of $975,000 from the expiration of statutes of limitations for certain reserves for income tax uncertainties, (3) a decrease in tax expense, net of reserves, of $910,000 from the retroactive application of the 2015 research and development tax credit passed by Congress in December 2015 and applied retroactively to January 1, 2015, and (4) an increase in tax expense of $65,000 from the write down of a deferred tax asset.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Excluding the impact of these discrete tax events, the Company&#8217;s effective tax rate was 18% in both 2016 and 2015.  The majority of income earned outside of the United States is permanently reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United States, Ireland and China.  The statutory tax rate is 12.5% in Ireland and 25% in China, compared to the U.S. federal statutory corporate tax rate of 35%.  International rights to certain of the Company&#8217;s intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate lower than the above mentioned statutory rates.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Discontinued Operations</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD) that specialized in machine vision products that inspect the surfaces of materials processed in a continuous fashion.  The financial results of SISD are reported as a discontinued operation for all periods presented.  Net loss from discontinued operations was $255,000 in 2016 compared to net income of $79,410,000 in 2015.  Net income in 2015 included a gain on the sale of SISD, net of tax, of $78,182,000.  Refer to Note 19 to the Consolidated Financial Statements in Part II - Item 8 of this Annual Report on Form 10-K for further information.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A binding arbitration was concluded in the second quarter of 2016 with respect to certain product performance claims made by an SISD customer, for which the Company remained responsible under the indemnity provisions of the sale transaction.  In that proceeding, the tribunal ordered the Company to pay the customer approximately $326,000, primarily representing a refund of the product purchase price.  The tribunal also ordered the customer to pay the Company approximately $45,000, primarily representing reimbursement of legal fees.  The net settlement of $281,000 was recorded in discontinued operations in the second quarter of 2016, along with $123,000 of legal fees.  The tax benefit related to this expense was $149,000, resulting in a net loss from discontinued operations of $255,000.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">20</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Year Ended December&#160;31, 2015 Compared to Year Ended December&#160;31, 2014 </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for the year ended December&#160;31, 2015 increased by $24,108,000, or 6%, from the prior year.  Excluding the impact of foreign currency exchange rate changes, revenue increased by $46,718,000, or 11%, as sales denominated in foreign currencies, primarily the Euro and Japanese Yen, were translated into U.S. Dollars at a lower rate.  Revenue from factory automation customers increased by $48,682,000, or 12%, on a constant-currency basis due primarily to a higher volume of machine vision products sold, with the highest growth coming from Greater China and Europe. Factory automation revenue in the Americas was relatively flat.  Revenue from semiconductor and electronics capital equipment manufacturers decreased by $1,964,000, or 7%, on a constant-currency basis from the prior year, with the majority of the decline coming from Japan.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Gross Margin</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin as a percentage of revenue was 77% in 2015 compared to 78% in 2014.  Changes in foreign currency exchange rates had a negative impact on gross margin, as a significant amount of revenue is denominated in Euros while inventories are predominantly purchased in U.S. Dollars.  A shift in revenue mix to relatively-lower margin products and services also had a negative impact on gross margin.  These gross margin decreases were partially offset by lower inventory charges in 2015 as compared to 2014.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Operating Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Research, Development, and Engineering Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering (RD&amp;E) expenses in 2015 increased by $13,960,000, or 25%, from the prior year as detailed in the table below (in thousands).</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses in 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,831</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outsourced engineering costs</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,952</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Personnel-related costs</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,559</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,579</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,226</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,096</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses in 2015</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">69,791</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses increased due to higher personnel-related costs resulting from headcount additions, such as salaries and fringe benefits, as well as modest salary increases granted early in 2015.  The Company also incurred higher spending on outsourced engineering costs, primarily related to the development of engineering prototypes for anticipated customer orders.  In addition, stock-based compensation expense increased due to a higher valuation of stock options granted early in 2015.  Offsetting these increases was the favorable impact on expenses of changes in foreign currency exchange rates, which resulted in lower U.S. Dollar expenses when expenses denominated in foreign currencies, primarily the Euro, were translated into U.S. Dollars.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Selling, General, and Administrative Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative (SG&amp;A) expenses in 2015  increased by $7,975,000, or 5%, from the prior year as detailed in the table below (in thousands). </font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">148,699</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Personnel-related costs </font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,420</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,082</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Microscan settlement and legal fees</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,405</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Incentive compensation plans</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6,226</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(7,896</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">190</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in 2015</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">156,674</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses increased due to higher personnel-related costs resulting from headcount additions, such as salaries, fringe benefits, sales commissions, and travel expenses, as well as modest salary increases granted early in 2015.  In addition, stock-based compensation expense increased due to a higher valuation of stock options granted early in 2015.  Offsetting these increases were lower expenses related to incentive compensation plans, such as company </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">21</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">bonuses and sales commissions, resulting from lower achievement levels on plans that were set at the beginning of the year. In addition, changes in foreign currency exchange rates resulted in lower U.S. Dollar expenses when expenses denominated in foreign currencies, primarily the Euro, were translated into U.S. Dollars.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In the second quarter of 2015, the Company reached a settlement of outstanding patent litigation with Microscan Systems, Inc. for $3,500,000.  The settlement included a patent license agreement valued at $1,667,000 that allows the Company to continue producing current models of its handheld barcode readers, which was recorded as an asset and is being amortized to cost of revenue over the five year life of the patent starting in the third quarter of 2015.  The remaining $1,833,000 of the settlement was recorded as SG&amp;A expense in the second quarter of 2015.  Legal fees related to this litigation were $572,000 higher in 2015 than the prior year.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-operating Income (Expense)</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded foreign currency gains of $1,122,000 in 2015 and $1,031,000 in 2014.  The foreign currency gains in each period resulted primarily from the revaluation and settlement of accounts receivable, accounts payable, and intercompany balances that are reported in one currency and collected in another.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Investment income increased by $518,000, or 16%, from the prior year due to increased funds available for investment.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded other income of $645,000 in 2015 compared to other expense of $283,000 in 2014.  Other income in 2015 included a $790,000 benefit resulting from a decrease in the fair value of the contingent consideration liability that arose from a business acquisition completed earlier in 2015 (refer to Note 20 to the Consolidated Financial Statements in Part II - Item 8 of this Annual Report on Form 10-K).  Other income (expense) also included rental income, net of associated expenses, from leasing space in buildings adjacent to the Company&#8217;s corporate headquarters.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Income Tax Expense</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s effective tax rate was 15% of the Company&#8217;s pre-tax income in 2015 compared to 16% in 2014.</font></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The effective tax rate for 2015 included the impact of the following discrete tax events: (1) a decrease in tax expense of $1,105,000 from the final true-up of the prior year&#8217;s tax accrual upon filing the actual tax returns, (2) a decrease in tax expense of $975,000 from the expiration of statutes of limitations for certain reserves for income tax uncertainties, (3) a decrease in tax expense, net of reserves, of $910,000 from the retroactive application of the 2015 research and development tax credit passed by Congress in December 2015 and applied retroactively to January 1, 2015, and (4) an increase in tax expense of $65,000 from the write down of a deferred tax asset.</font></div><div style="line-height:120%;padding-bottom:10px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The effective tax rate for 2014 included the impact of the following discrete tax events: (1) a decrease in tax expense of $652,000 from the final true-up on the prior year&#8217;s tax accrual upon filing the actual tax returns, (2) a decrease in tax expense, net of reserves, of $645,000 from the retroactive application of the 2014 research and development tax credit passed by Congress in December 2014 and applied retroactively to January 1, 2014, (3) a decrease in tax expense of $418,000 from the closing of the Internal Revenue Service audit of the Company for tax years 2010 and 2011, and (4) a decrease in tax expense of $217,000 from the expiration of the statutes of limitations for certain reserves for income tax uncertainties. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Excluding the impact of these discrete tax events, the Company&#8217;s effective tax rate was relatively consistent for 2015 and 2014 at approximately 17.5%.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Discontinued Operations</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD) that specialized in machine vision products that inspect the surfaces of materials processed in a continuous fashion.  The financial results of SISD are reported as a discontinued operation for all periods presented.  Income from discontinued operations, net of tax, was $1,228,000 for the six-month period ended July 5, 2015 and was $10,644,000 for the year ended December 31, 2014.  The gain on the sale of SISD, net of tax, recorded in 2015 was $78,182,000.  Refer to Note 19 to the Consolidated Financial Statements in Part II - Item 8 of this Annual Report on Form 10-K for further information.</font></div><div><a name="s22C2ABD6C4D8AB61905E77D72123187B"></a></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">LIQUIDITY AND CAPITAL RESOURCES</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has historically been able to generate positive cash flow from operations, which has funded its operating activities and other cash requirements and has resulted in an accumulated cash and investment balance of $745,170,000 as of  </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">.  The Company has established guidelines relative to credit ratings, diversification, and maturities of its investments that maintain liquidity.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s cash requirements in 2016 were met with positive cash flows from operations, investment maturities, and the proceeds from stock option exercises.  Cash requirements consisted of operating activities, investment purchases, the repurchase of common stock, the payment of dividends, cash paid for business acquisitions, and capital expenditures.  Capital expenditures totaled $12,816,000 in 2016 and consisted primarily of computer hardware and </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">22</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">software, improvements made to the Company&#8217;s headquarters building in Natick, Massachusetts, and manufacturing test equipment related to new product introductions. </font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s material contractual obligations, both fixed and contingent (in thousands):</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:53%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Inventory Purchase Commitments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Leases</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,352</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,054</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,406</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,303</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,303</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,164</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,164</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,853</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,853</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,735</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,735</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,498</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,498</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,352</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,607</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,959</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In addition to the obligations described above, the following items may also result in future material uses of cash:</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Stock Repurchases</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In August 2015, the Company&#8217;s Board of Directors authorized the repurchase of $100,000,000 of the Company&#8217;s common stock.  As of December 31, 2016, the Company repurchased 2,666,000 shares at a cost of $100,000,000 under this program, including 355,000 shares at a cost of $16,064,000 in 2016.  Stock repurchases under this August 2015 program are now complete.  In November 2015, the Company&#8217;s Board of Directors authorized the repurchase of an additional $100,000,000 of the Company&#8217;s common stock.  Purchases under this November 2015 program  commenced in 2016 upon completion of the August 2015 program.  As of December 31, 2016, the Company repurchased 539,000 shares at a cost of $31,085,000 under this program, leaving a remaining authorized balance of $68,915,000.  Total stock repurchases in 2016 amounted to $47,149,000.  The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Dividends</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s Board of Directors declared and paid cash dividends of $0.07 per share in the first quarter and $0.075 per share in the second, third, and fourth quarters of 2016.  Total cash dividends paid in 2016 amounted to $25,213,000. Future dividends will be declared at the discretion of the Company's Board of Directors and will depend upon such factors as the Board deems relevant, including, among other things, the Company's ability to generate positive cash flow from operations.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Acquisitions</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s business strategy includes selective expansion into new machine vision markets and applications through the acquisition of businesses and technologies, which may result in significant cash outlays in the future.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On August 21, 2015, the Company acquired selected assets of Manatee Works, Inc.  The Company paid $1,023,000 in cash upon closing and $337,000 in cash in 2016 that was contingent upon reaching a milestone revenue level.  The Company may pay additional contingent cash consideration of up to $1,700,000 in 2017 and up to $2,200,000 in 2018 based upon reaching certain milestone revenue levels. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On August 30, 2016, the Company acquired selected assets and assumed selected liabilities of AQSense, S.L.  The Company paid $2,519,000 in cash and there are no contingent payments related to this transaction.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On October 27, 2016, the Company acquired all of the outstanding shares of EnShape, GmbH.  The Company paid $5,395,000 in cash and is expected to pay additional contingent cash consideration of $1,362,000 in the first half of 2017 and a deferred cash payment of $1,144,000 in 2018 representing a holdback for potential indemnification claims.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On November 30, 2016, the Company acquired selected assets and assumed selected liabilities of Chiaro Technologies LLC.  The Company paid $3,538,000 in cash and may pay additional contingent cash consideration of up to to $1,250,000 in 2018 based upon reaching certain milestone revenue levels.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On December 9, 2016, the Company acquired selected assets and assumed selected liabilities of Webscan, Inc.  The Company paid $3,000,000 in cash upon closing and paid $176,000 in cash upon calculation of a working capital adjustment in January 2017.  There are no contingent payments related to this transaction.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">23</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company believes that its existing cash and investment balances, together with cash flow from operations, will be sufficient to meet its operating, investing, and financing activities for the next twelve months.  As of December&#160;31, 2016, the Company had $745,170,000 in cash and investments.  In addition, Cognex has no long-term debt and does not anticipate needing debt financing in the near future.  We believe that our strong cash position has put us in a relatively good position with respect to our longer-term liquidity needs.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">OFF-BALANCE SHEET ARRANGEMENTS</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, the Company has no off-balance sheet arrangements as defined in Item 303(a)(4)(ii) of Regulation S-K.</font></div><div><a name="sDC580983F09309F92A7C77D72127D442"></a></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CRITICAL ACCOUNTING POLICIES AND ESTIMATES</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Our discussion and analysis of the Company&#8217;s financial condition and results of operations are based upon the consolidated financial statements included in this Annual Report on Form 10-K, which have been prepared in accordance with accounting principles generally accepted in the United States.  The preparation of these financial statements requires management to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue, and expenses, and related disclosure of contingent assets and liabilities.  We base our estimates on historical experience and various other assumptions believed to be reasonable under the circumstances, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources.  Actual results could differ from these estimates under different assumptions or circumstances resulting in charges that could be material in future reporting periods.  We believe the following critical accounting policies require the use of significant estimates and judgments in the preparation of our consolidated financial statements.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s product revenue is derived from the sale of machine vision systems, which can take the form of hardware with embedded software or software-only, and related accessories.  The Company also generates revenue by providing maintenance and support, consulting, and training services to its customers.  Certain of the Company&#8217;s arrangements include multiple deliverables that provide the customer with a combination of products or services.  In order to recognize revenue, the Company requires that a signed customer contract or purchase order is received, the fee from the arrangement is fixed or determinable, and collection of the resulting receivable is probable.  Assuming that these criteria have been met, product revenue is generally recognized upon delivery, revenue from maintenance and support programs is recognized ratably over the program period, and revenue from consulting and training services is recognized when the services have been provided.  When customer-specified acceptance criteria exist that are substantive, product revenue is deferred, along with associated incremental direct costs, until these criteria have been met and any remaining performance obligations are inconsequential or perfunctory.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the majority of the Company's revenue transactions, revenue recognition and invoicing both occur upon delivery.  In certain circumstances, however, the agreement with the customer provides for invoicing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Invoicing that precedes revenue recognition is common for various customers in the logistics industry where milestone billings are prevalent, resulting in deferred revenue.  Conversely, the Company records unbilled revenue in connection with a material customer in the consumer electronics industry.  For this arrangement, the Company recognizes revenue for all delivered products when the first production line that incorporates these products is validated, because at that point the remaining performance obligations are inconsequential or perfunctory.  Invoicing for all delivered products occurs as the production lines incorporating those products are installed over a period of several weeks.  The Company also has a technical support obligation related to this arrangement for which revenue is deferred and recognized over the support period of approximately six months.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of the Company&#8217;s product offerings consist of hardware with embedded software.  Under the revenue recognition rules for tangible products, the fee from a multiple-deliverable arrangement is allocated to each of the deliverables based upon their relative selling prices as determined by a selling-price hierarchy.  A deliverable in an arrangement qualifies as a separate unit of accounting if the delivered item has value to the customer on a stand-alone basis.  A delivered item that does not qualify as a separate unit of accounting is combined with the other undelivered items in the arrangement and revenue is recognized for those combined deliverables as a single unit of accounting. The selling price used for each deliverable is based upon vendor-specific objective evidence (VSOE) if available, third-party evidence (TPE) if VSOE is not available, and management&#8217;s best estimate of selling price (BESP) if neither VSOE nor TPE are available.  VSOE is the price charged for a deliverable when it is sold separately.  TPE is the price of the Company&#8217;s or any competitor&#8217;s largely interchangeable products or services in stand-alone sales to similarly-situated customers.  BESP is the price at which the Company would sell the deliverable if it were sold regularly on a stand-alone basis, considering market conditions and entity-specific factors.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">24</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company reports revenue for certain of its product accessory sales on a net basis, by reducing the gross sale amount by the related costs, when certain factors in the arrangement with the customer indicate that the Company is acting as an agent, rather than as a principal.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management exercises judgment in connection with the determination of the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, determining whether separate contracts with the same customer that are entered into at or near the same time should be accounted for as a single arrangement, identifying the various elements in an arrangement, determining if delivered items have stand-alone value, determining the relative selling prices of the arrangement&#8217;s deliverables, determining whether options to buy additional products or services in the future are substantive and should be accounted for as a deliverable in the original arrangement, assessing whether the fee is fixed or determinable, determining the probability of collecting the receivable, determining whether customer-specified acceptance criteria are substantive in nature, determining whether remaining performance obligations are inconsequential or perfunctory, assessing whether vendor-specific objective evidence of fair value has been established for undelivered elements, and determining whether the Company is acting as a principal or an agent in an arrangement. </font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Investments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, the Company&#8217;s investment portfolio of debt securities totaled $665,529,000.  The debt securities are</font><font style="font-family:Arial;font-size:10pt;">&#32;</font><font style="font-family:Arial;font-size:10pt;">reported at fair value, with unrealized gains and losses, net of tax, recorded in shareholders&#8217; equity as other comprehensive income (loss) since these securities are designated as available-for-sale securities.  As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">,the Company&#8217;s portfolio of debt securities had a net unrealized gain of $65,000. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company applies a three-level valuation hierarchy for fair value measurements.  The categorization of assets and liabilities within the valuation hierarchy is based upon the lowest level of input that is significant to the measurement of fair value.  Level 1 inputs to the valuation methodology utilize unadjusted quoted market prices in active markets for identical assets and liabilities.  Level 2 inputs to the valuation methodology are other observable inputs, including quoted market prices for similar assets and liabilities, quoted prices for identical and similar assets and liabilities in markets that are not active, or other inputs that are observable or can be corroborated by observable market data. Level 3 inputs to the valuation methodology are unobservable inputs based upon management&#8217;s best estimate of the inputs that market participants would use in pricing the asset or liability at the measurement date, including assumptions about risk.  Changes in the valuation methodology, interest rates, credit rates, or the market for these investments could result in changes to their fair values.  Changes to the Level of an investment within the fair value hierarchy are determined at the end of the reporting period.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s debt securities are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset, and are therefore classified as Level 2.  Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service.  This service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data.  They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management monitors the carrying value of its debt securities compared to their fair value to determine whether an other-than-temporary impairment has occurred.  In considering whether a decline in fair value is other-than-temporary, we consider many factors, both qualitative and quantitative in nature, including the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our ability and intent to hold the security to expected recovery of value, and other meaningful information.  If a decline in fair value is determined to be other-than-temporary, an impairment charge would be recorded in current operations to reduce the carrying value of the investment to its fair value.  There were no other-than-temporary impairments of investments in 2016, 2015, or 2014.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accounts Receivable</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company maintains reserves against its accounts receivable for potential credit losses.  Ongoing credit evaluations of customers are performed and the Company has historically not experienced significant losses related to the collection of its accounts receivable.  Allowances for specific accounts determined to be at risk for collection are estimated by management taking into account the length of time the receivable has been outstanding, the customer&#8217;s current ability to pay its obligations to the Company, general economic and industry conditions, as well as various other factors. Global economic uncertainty may result in longer payment cycles and challenges in collecting accounts receivable balances, which make these estimates more judgmental.  An adverse change in any of these factors could result in higher than expected customer defaults and may result in the need for additional bad debt provisions.  As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, the Company&#8217;s reserve against accounts receivable was $873,000, or 2% of the gross accounts </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">25</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">receivable balance.  A 10% difference in the reserve against accounts receivable as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;would have affected net income by approximately $72,000.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Inventories</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories are stated at the lower of cost or market.  Management estimates excess and obsolescence exposures based upon assumptions about future demand, product transitions, and market conditions, and records reserves to reduce the carrying value of inventories to their net realizable value.  Volatility in the global economy makes these assumptions about future demand more judgmental.  Among the risks associated with the introduction of new products are difficulty predicting customer demand and effectively managing inventory levels to ensure adequate supply of the new product and avoid excess supply of the legacy product.  In addition, we may strategically enter into non-cancelable commitments with vendors to purchase materials for products in advance of demand to take advantage of favorable pricing or address concerns about the availability of future supplies and long lead times.  As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, the Company&#8217;s reserve for excess and obsolete inventory totaled $3,317,000, or 11% of the gross inventory balance. A 10% difference in inventory reserves as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;would have affected net income by approximately $272,000.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Long-lived Assets</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has long-lived assets, including property, plant, and equipment and acquired intangible assets.  These assets are susceptible to shortened estimated useful lives and changes in fair value due to changes in their use, market or economic changes, or other events or circumstances.  The Company evaluates the potential impairment of these long-lived assets whenever events or circumstances indicate their carrying value may not be recoverable.  Factors that could trigger an impairment review include historical or projected results that are less than the assumptions used in the original valuation of an acquired asset, a change in the Company&#8217;s business strategy or its use of an acquired asset, or negative economic or industry trends.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">If an event or circumstance indicates the carrying value of long-lived assets may not be recoverable, the Company assesses the recoverability of the assets by comparing the carrying value of the assets to the sum of the undiscounted future cash flows that the assets are expected to generate over their remaining economic lives.  If the carrying value exceeds the sum of the undiscounted future cash flows, the Company compares the fair value of the long-lived assets to the carrying value and records an impairment loss for the difference.  The Company generally estimates the fair value of its long-lived assets using the income approach based upon a discounted cash flow model.  The income approach requires the use of many assumptions and estimates including future revenues and expenses, discount factors, income tax rates, the identification of groups of assets with highly independent cash flows, and assets&#8217; economic lives.  Volatility in the global economy makes these assumptions and estimates more judgmental.  No impairment losses were recorded in 2016, 2015, or 2014.  Actual future operating results and the remaining economic lives of our long-lived assets could differ from those used in assessing the recoverability of these assets and could result in an impairment of long-lived assets in future periods.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Goodwill</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management evaluates the potential impairment of goodwill annually each fourth quarter and whenever events or circumstances indicate their carrying value may not be recoverable.  On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  The Company had previously identified SISD, along with its Modular Vision Systems Division (MVSD), as reporting units for purposes of its goodwill impairment test.  Given the disposition of SISD, management reviewed its reporting units and concluded that the Company now has one reporting unit</font><font style="font-family:inherit;font-size:10pt;">. </font><font style="font-family:Arial;font-size:10pt;">&#32;Determining the Company&#8217;s reporting units requires judgments regarding what constitutes a business and at what level discrete financial information is available and reviewed by management.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company performs a qualitative assessment of goodwill (commonly known as &#8220;step zero&#8221;) to determine whether further impairment testing is necessary.  If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, the entity would proceed to a two-step process.  Step one compares the fair value of the reporting unit with its carrying value, including goodwill.  If the carrying amount exceeds the fair value of the reporting unit, step two is required to measure the amount of impairment loss.  Step two compares the implied fair value of the reporting unit goodwill to the carrying amount of the goodwill.  The Company estimates the fair value of its reporting unit using the income approach based upon a discounted cash flow model.  In addition, the Company uses the market approach, which compares the reporting unit to publicly-traded companies and transactions involving similar businesses, to support the conclusions based upon the income approach.  The income approach requires the use of many assumptions and estimates including future revenues, expenses, capital expenditures, and working capital, as well as discount factors and income tax rates.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Factors that management considered in the qualitative assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">26</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">and changes in the composition or carrying amount of net assets.  In addition, management took into consideration the goodwill valuation as of October 4, 2010, which was the last time it was performed under the two-step process.  At that time, this analysis indicated that the fair value of the MVSD reporting unit exceeded its carrying value by approximately 208%. Based on the qualitative assessment, management does not believe that it is more likely than not that the carrying value of its reporting unit exceeds its fair value.  No impairment losses were recorded in 2016, 2015, or 2014.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Warranty Obligations</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company records the estimated cost of fulfilling product warranties at the time of sale based upon historical costs to fulfill claims.  Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data.  While we engage in extensive product quality programs and processes, including actively monitoring and evaluating the quality of our component suppliers and third-party contract manufacturers, the Company&#8217;s warranty obligation is affected by product failure rates, material usage, and service delivery costs incurred in correcting a product failure.  An adverse change in any of these factors may result in the need for additional warranty provisions.  As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, the Company&#8217;s accrued warranty obligations amounted to $4,335,000.  A 10% difference in accrued warranty obligations as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;would have affected net income by approximately $355,000.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Contingencies</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Estimated losses from contingencies are accrued by management based upon whether a loss is probable and whether management has the ability to reasonably estimate the amount of the loss.  Estimating potential losses, or even a range of losses, is difficult and involves a great deal of judgment.  Management relies primarily on assessments made by its internal and external legal counsel to make the determination as to whether a loss contingency arising from litigation should be recorded or disclosed.  This analysis is performed on a quarterly basis or when facts and circumstances dictate.  Should the resolution of a contingency result in a loss that we did not accrue because management did not believe that the loss was probable or capable of being reasonably estimated, then this loss would result in a charge to income in the period the contingency was resolved.  The Company did not have any significant accrued contingencies as of December&#160;31, 2016.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Stock-Based Compensation</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Compensation expense is recognized for all stock option and restricted stock grants.  Determining the appropriate valuation model and estimating the fair values of these grants requires the input of subjective assumptions, including expected stock price volatility, dividend yields, expected term, and forfeiture rates.  The expected volatility assumption is based partially upon the historical volatility of the Company&#8217;s common stock, which may or may not be a true indicator of future volatility, particularly as the Company continues to seek to diversify its customer base.  The assumptions used in calculating the fair values of stock option grants represent management&#8217;s best estimates, but these estimates involve inherent uncertainties and the application of judgment.  As a result, if factors change and different assumptions are used, stock-based compensation expense could be significantly different from what the Company recorded in the current period.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Income Taxes</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Significant judgment is required in determining worldwide income tax expense based upon tax laws in the various jurisdictions in which the Company operates.  The Company has established reserves for income taxes by applying the &#8220;more likely than not&#8221; criteria, under which the recognition threshold is met when an entity concludes that a tax position, based solely on its technical merits, is more likely than not to be sustained upon examination by the relevant tax authority.  All tax positions are analyzed periodically and adjustments are made as events occur that warrant modification, such as the completion of audits or the expiration of statutes of limitations, which may result in future charges or credits to income tax expense.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As part of the process of preparing consolidated financial statements, management is required to estimate income taxes in each of the jurisdictions in which the Company operates.  This process involves estimating the current tax liability, as well as assessing temporary differences arising from the different treatment of items for financial statement and tax purposes.  These differences result in deferred tax assets and liabilities, which are recorded on the Consolidated Balance Sheets.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has net deferred tax assets primarily resulting from temporary differences between the financial statement and tax bases of assets and liabilities.  Management has evaluated the realizability of these deferred tax assets and has determined that it is more likely than not that these assets will be realized, net of any valuation allowance. In reaching this conclusion, we have evaluated relevant criteria, including the Company&#8217;s historical profitability, current projections of future profitability, and the lives of tax credits, net operating and capital losses, and other carryforwards, </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">27</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">certain of which have indefinite lives. Should the Company fail to generate sufficient pre-tax profits in future periods, we may be required to record material adjustments to these deferred tax assets, resulting in a charge to income in the period of determination.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Derivative Instruments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In certain instances, the Company enters into forward contracts to hedge against foreign currency fluctuations.  The Company's forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2.  The Company's forward contracts are typically traded or executed in over-the-counter markets with a relatively high degree of pricing transparency.  The market participants are generally large commercial banks.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Currently, the Company enters into two types of hedges to manage foreign currency exchange rate risk.  The first are economic hedges which utilize foreign currency forward contracts to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as effective hedges, and therefore, do not qualify for effective hedge accounting.  The second are cash flow hedges which utilize foreign currency forward contracts to protect our budgeted revenues and expenses against foreign currency exchange rate changes compared to our budgeted rates.  These cash flow hedges are designated for hedge accounting, and therefore, the effective portion of the forward contract's gain or loss is reported in shareholders' equity as other comprehensive income (loss) and is reclassified into current operations as the hedged transaction impacts current operations.  Should these hedges fail to qualify for hedge accounting or be ineffective, the gain or loss on the forward contract would be reported in current operations immediately as opposed to when the hedged transaction impacts current operations.  This may result in material foreign currency gains or losses.</font></div><div><a name="s6ED86768028EE3E1916B77D7311B8F72"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NEW PRONOUNCEMENTS</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2014-09, &#8220;Revenue from Contracts with Customers&#8221;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The amendments in ASU 2014-09 will supersede and replace all currently existing U.S. GAAP, including industry-specific revenue recognition guidance, with a single, principle-based revenue recognition framework.  The concept guiding this new model is that revenue recognition will depict transfer of control to the customer in an amount that reflects consideration to which an entity expects to be entitled.  The core principles supporting this framework include (1) identifying the contract with a customer, (2) identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance obligations, and (5) recognizing revenue.  This new framework will require entities to apply significantly more judgment.  This increase in management judgment will require expanded disclosure on estimation methods, inputs, and assumptions for revenue recognition.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In March 2016, ASU 2016-08, "Principal versus Agent Considerations (Reporting Revenue Gross versus Net)," was issued, in April 2016, ASU 2016-10, "Identifying Performance Obligations and Licensing," was issued, in May 2016, ASU 2016-12, "Narrow-Scope Improvements and Practical Expedients" was issued, and in December 2016, ASU 2016-20. "Technical Corrections and Improvements," was issued.  These Updates do not change the core principle of the guidance under ASU 2014-09, but rather provide implementation guidance.  ASU 2015-14, "Deferral of the effective date," amended the effective date of ASU 2014-09 for public companies to annual reporting periods beginning after December 15, 2017.  Early adoption is permitted, but only beginning after December 15, 2016.  The Financial Accounting Standards Board may release additional implementation guidance in future periods.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:11pt;"><font style="font-family:Arial;font-size:10pt;">We expect to adopt this standard using the full retrospective method to present all periods reported on a consistent basis.  Upon adoption, revenue for software-only products sold as part of multiple-deliverable arrangements will no longer be deferred when vendor-specific objective evidence of fair value does not exist for undelivered elements of the arrangement.  This change will result in earlier recognition of revenue.  In addition, we expect certain of the Company&#8217;s product accessory sales, which are currently reported on a net basis, to be reported on a gross basis as a result of applying the expanded guidance in the new standard related to principal versus agent considerations.  This change will result in the Company reporting higher revenue and higher cost of revenue when these sales are reported on a gross basis, although the gross margin dollars will not change.  We do not expect either of these changes to have a material impact on total revenue.  Management will continue to evaluate the impact of this standard</font><font style="font-family:inherit;font-size:11pt;">.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">28</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2015-11, "Inventory - Simplifying the Measurement of Inventory"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2015-11 requires companies to measure most inventory at the lower of cost and net realizable value, thereby simplifying the current guidance under which a company must measure inventory at the lower of cost or market.  This ASU eliminates the need to determine replacement cost and evaluate whether said cost is within a quantitative range.  This ASU also further aligns U.S. GAAP and international accounting standards.  For public companies, the guidance in ASU 2015-11 is effective for annual periods beginning after December 15, 2016, and interim periods within those annual periods.  Early adoption is permitted.  Management does not expect ASU 2015-11 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-01, "Financial Instruments - Recognition and Measurement of Financial Assets and Financial Liabilities"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-01 provides guidance related to certain aspects of recognition, measurement, presentation, and disclosure of financial instruments.  The amendments in this Update affect all entities that hold financial assets or owe financial liabilities.  This ASU requires equity investments (except those accounted under the equity method) to be measured at fair value with changes in fair value recognized in net income.  However, an entity may choose to measure equity investments that do not have readily determinable fair values at cost minus impairment.  This ASU also eliminates the requirement for public companies to disclose the methods and significant assumptions used to estimate the fair value for financial instruments measured at amortized cost on the balance sheet, and it requires separate presentation of financial assets and financial liabilities by measurement category and form of financial asset on the balance sheet or the accompanying notes to the financial statements.  For public companies, the guidance in ASU 2016-01 is effective for annual periods beginning after December 15, 2017, and interim periods within those annual periods.  Early adoption is not permitted except for certain amendments in this Update.  Management does not expect ASU 2016-01 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-02, "Leases"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current U.S. GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current U.S. GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current U.S. GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  This ASU should be applied using a modified retrospective approach. Management is in the process of evaluating the impact of this Update. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-05, "Derivatives and Hedging - Effect of Derivative Contract Novations on Existing Hedge Accounting Relationships"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-05 applies to all reporting entities for which there is a change in the counterparty to a derivative instrument that has been designated as the hedging instrument.  The amendments in this Update clarify that a change in the counterparty does not, in and of itself, require de-designation of that hedging relationship provided that all other hedge accounting criteria continue to be met.  For public companies, the guidance in ASU 2016-05 is effective for annual periods beginning after December 15, 2016, and interim periods within those annual periods.  This ASU should be applied on either a prospective basis or a modified retrospective basis.  Management does not expect ASU 2016-05 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this Update require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.&#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.  </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">29</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-16 applies to all reporting entities with intra-entity transfers of assets other than inventory.  The amendments in this Update allow the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory when the transfer occurs, as opposed to when the asset has been sold to an outside party under current U.S. GAAP.   Two common examples of assets included in the scope of this Update are intellectual property and property, plant, and equipment.  For public companies, the amendments in ASU 2016-16 are effective for annual reporting periods beginning after December 15, 2017, and interim reporting periods within those annual periods.  Early adoption is permitted for all entities as of the beginning of an annual reporting period for which financial statements (interim or annual) have not been issued or made available for issuance.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption.  Management is in the process of evaluating the impact of this Update. </font></div><div><a name="s542E3C493D2AF5F0786F77D72128D581"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;7A:&#160;&#160;QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company is exposed to certain risks relating to its ongoing business operations, including foreign currency exchange rate risk and interest rate risk.  The Company currently mitigates certain foreign currency exchange rate risks with derivative instruments.  The Company does not currently manage its interest rate risk with derivative instruments.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Foreign Currency Risk</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company faces exposure to foreign currency exchange rate fluctuations, as a significant portion of its revenues, expenses, assets, and liabilities are denominated in currencies other than the functional currencies of the Company&#8217;s subsidiaries or the reporting currency of the Company, which is the U.S. Dollar.  In certain instances, we utilize forward contracts to hedge against foreign currency fluctuations.  These contracts are used to minimize foreign gains or losses, as the gains or losses on the derivative are intended to offset the losses or gains on the underlying exposure.  We do not engage in foreign currency speculation. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates.  Currently, the Company enters into two types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">45 days</font><font style="font-family:Arial;font-size:10pt;">&#32;to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">18 months</font><font style="font-family:Arial;font-size:10pt;">&#32;to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting our budgeted revenues and expenses against foreign currency exchange rate changes compared to our budgeted rates. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">30</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands): </font></div><div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"></td></tr><tr><td style="width:17%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2015</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Currency</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Notional Value</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">USD Equivalent</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">High Rate</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Low Rate</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Notional Value</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">USD Equivalent</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">High Rate</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Low Rate</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:6px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">U.S. Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,720</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,720</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.1462</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.0903</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">342,500</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,960</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">132.28</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">113.98</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">942,500</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,605</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">147.82</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">129.08</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">130</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">316.62</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">316.13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">547,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,893</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">319.87</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">301.10</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.6328</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.6293</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,063</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,425</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.6451</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.5063</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Canadian Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.1155</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.1145</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">34</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.8039</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.8021</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td colspan="16" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">650,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,554</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">123.12</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">123.12</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">700,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,800</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131.07</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131.07</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,658</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.8567</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.8567</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,441</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.7342</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.7342</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,750,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,450</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,270</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,270</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,400,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,187</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,281</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,281</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">425,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,448</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">308.79</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">308.79</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">250,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">857</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">316.95</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">316.95</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">929</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.5287</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.5287</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,525</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,074</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.5422</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.5422</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">802</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">34.12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">34.12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,425</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">800</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35.85</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35.85</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A change in foreign currency exchange rates could materially impact the fair value of these contracts; however, if this occurred, the fair value of the underlying exposures hedged by the contracts would change by a similar amount.  Accordingly, management does not believe that a material change in foreign currency exchange rates used in the fair value of our derivative instruments would materially impact operations or cash flows.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The success of our foreign currency risk management program depends upon forecasts of transaction activity denominated in various currencies.  To the extent that these forecasts are overstated or understated during periods of currency volatility, we could experience unanticipated foreign currency gains or losses that could have a material impact on our results of operations.  Furthermore, our failure to identify new exposures and hedge them in an effective manner may result in material foreign currency gains or losses.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s functional currency/reporting currency exchange rate exposures result from revenues and expenses that are denominated in currencies other than the U.S. Dollar.  A significant portion of our revenues and expenses are denominated in the Euro, the Japanese Yen, and the Chinese Yuan, also known as Renminbi.  Our predominant currency of sale is the U.S.&#160;Dollar in the Americas, the Euro and U.S. Dollar in Europe, the Yuan in Mainland China, the Yen in Japan, and the U.S.&#160;Dollar in other regions.  We estimate that approximately 43% of our sales in 2016 were invoiced in currencies other than the U.S.&#160;Dollar, and we expect sales denominated in foreign currencies to continue to represent a significant portion of our total revenue.  While we also have expenses denominated in these same foreign currencies, the impact on revenues has historically been, and is expected to continue to be, greater than the offsetting impact on expenses.  Therefore, in times when the U.S.&#160;Dollar strengthens in relation to these foreign currencies, we would expect to report a net decrease in operating income.  Conversely, in times when the U.S.&#160;Dollar weakens in relation to these foreign currencies, we would expect to report a net increase in operating income.  Thus, changes in the relative strength of the U.S.&#160;Dollar may have a material impact on our operating results.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Interest Rate Risk</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s investment portfolio of debt securities includes corporate bonds, treasury bills, asset-backed securities, a Euro liquidity fund, agency bonds, sovereign bonds and municipal bonds.  Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value.  As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, the fair value of the Company&#8217;s portfolio of debt securities amounted to $665,529,000 with principal amounts totaling </font><font style="font-family:Arial;font-size:10pt;">$665,464,000</font><font style="font-family:Arial;font-size:10pt;">, maturities that do not exceed five years, and a yield to maturity of 1.08%.  Differences between</font><font style="font-family:Arial;font-size:10pt;color:#ee2724;">&#32;</font><font style="font-family:Arial;font-size:10pt;">the fair value and principal amounts of the Company&#8217;s portfolio of debt securities are primarily attributable to discounts and premiums arising at the acquisition date, as well as unrealized gains and losses as of the balance sheet date.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Although it is the Company&#8217;s policy to invest in debt securities with effective maturities that do not exceed ten years, 97% of the investment portfolio as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;has effective maturity dates of less than three years.  Given the relatively short maturities and investment-grade quality of the Company&#8217;s portfolio of debt securities as of </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">31</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, a sharp rise in interest rates should not have a material adverse effect on the fair value of these instruments.  As a result, the Company does not currently hedge these interest rate exposures.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the hypothetical change in the fair value of the Company&#8217;s portfolio of debt securities arising from selected potential changes in interest rates (in thousands).  This modeling technique measures the change in fair value that would result from a parallel shift in the yield curve plus or minus 50 and 100 basis points (BP) over a twelve-month time horizon.</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="21"></td></tr><tr><td style="width:20%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Type of security</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Valuation&#160;of&#160;securities&#160;given</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">an&#160;interest&#160;rate&#160;decrease</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">No&#160;change&#160;in</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">interest&#160;rates</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Valuation&#160;of&#160;securities&#160;given</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">an interest&#160;rate&#160;increase</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(100 BP)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(50 BP)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">50 BP</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">100 BP</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">313,739</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">312,440</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">311,140</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">309,841</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">308,541</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Treasury bills</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">160,785</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">160,120</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">159,455</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">158,790</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">158,125</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Asset-backed&#160;securities</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">97,366</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">96,963</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">96,560</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">96,157</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">95,754</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Euro liquidity fund</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">46,778</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">46,638</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">46,499</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">46,359</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">46,220</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Sovereign bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">31,140</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">31,011</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">30,883</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">30,754</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">30,625</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Agency bonds</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">13,352</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">13,297</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">13,242</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">13,187</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">13,132</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Municipal bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">7,815</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">7,783</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">7,750</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">7,718</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">7,686</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">670,975</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">668,252</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">665,529</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">662,806</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">660,083</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">32</font></div></div><hr style="page-break-after:always"><div><a name="s0BB6C1B06B24DE8B8AFA77D7316FD7B2"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;8:&#160;&#160;FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</font></div><div style="line-height:120%;padding-top:18px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">INDEX TO FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:90%;"></td><td style="width:10%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Consolidated Financial Statements:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#sB5695CAD8E2CF76C5CE577D7318CAD7C"><font style="font-family:Arial;font-size:10pt;color:#000000;">Report of Independent Registered Public Accounting Firm</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#sB5695CAD8E2CF76C5CE577D7318CAD7C">34</a></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;" href="#sADDF4FBC03D0BA6A563477D7212A7E05"><font style="font-family:Arial;font-size:10pt;">Consolidated Statements of Operations for the Years Ended December&#160;31, 2016, 2015, and 2014</font></a></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#sADDF4FBC03D0BA6A563477D7212A7E05">35</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;" href="#sF65E5DD63C3C78A4C01377D7213FD4AF"><font style="font-family:Arial;font-size:10pt;">Consolidated Statements of Comprehensive Income for the Years Ended December&#160;31, 2016, 2015, and 2014</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#sF65E5DD63C3C78A4C01377D7213FD4AF">36</a></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;" href="#sF5F59EFEBC0130BF775977D7214B05F7"><font style="font-family:Arial;font-size:10pt;">Consolidated Balance Sheets as of December&#160;31, 2016 and 2015</font></a></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#sF5F59EFEBC0130BF775977D7214B05F7">37</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;" href="#s394C97EAD07740F42E4277D721616AA2"><font style="font-family:Arial;font-size:10pt;">Consolidated Statements of Cash Flows for the Years Ended December&#160;31, 2016, 2015, and 2014</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#s394C97EAD07740F42E4277D721616AA2">38</a></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;" href="#s7E6DE574258B128D2FEA77D72182FCCA"><font style="font-family:Arial;font-size:10pt;">Consolidated Statements of Shareholders&#8217; Equity for the Years Ended December&#160;31, 2016, 2015, and 2014</font></a></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#s7E6DE574258B128D2FEA77D72182FCCA">39</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#sCD8822563CDB4DD4CEE877D7332F504E"><font style="font-family:Arial;font-size:10pt;color:#000000;">Notes to the Consolidated Financial Statements</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#sCD8822563CDB4DD4CEE877D7332F504E">40</a></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#s0808B5C07419F9C2095877D73841D6E3"><font style="font-family:Arial;font-size:10pt;color:#000000;">Selected Quarterly Financial Data (unaudited)</font></a></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#s0808B5C07419F9C2095877D73841D6E3">70</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Financial Statement Schedule:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#s7CF15D4EDB46BF240D2577D738657626"><font style="font-family:Arial;font-size:10pt;color:#000000;">Report of Independent Registered Public Accounting Firm</font></a></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#s7CF15D4EDB46BF240D2577D738657626">71</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;" href="#sD450087C13BA796BEA0877D723D8D647"><font style="font-family:Arial;font-size:10pt;">Schedule II &#8211; Valuation and Qualifying Accounts for the Years Ended December&#160;31, 2016, 2015, and 2014</font></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;" href="#sD450087C13BA796BEA0877D723D8D647">72</a></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">33</font></div></div><hr style="page-break-after:always"><div><a name="sB5695CAD8E2CF76C5CE577D7318CAD7C"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">To the Board of Directors and Shareholders of Cognex Corporation:</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We have audited the accompanying consolidated balance sheets of Cognex Corporation (a Massachusetts corporation) and subsidiaries (the &#8220;Company&#8221;) as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and the related consolidated statements of operations, comprehensive income, cash flows, and shareholders&#8217; equity for each of the three years in the period ended </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">.  These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on these financial statements based on our audits.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We conducted our audits in accordance with the standards of the Public Company Accounting Oversight Board (United States).  Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement.  An audit includes examining, on a test basis, evidence supporting the amounts and disclosures in the financial statements.  An audit also includes assessing the accounting principles used and significant estimates made by management, as well as evaluating the overall financial statement presentation.  We believe that our audits provide a reasonable basis for our opinion.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In our opinion, the consolidated financial statements referred to above present fairly, in all material respects, the financial position of Cognex Corporation and subsidiaries as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and the results of their operations and their cash flows for each of the three years in the period ended </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;in conformity with accounting principles generally accepted in the United States of America.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States), the Company&#8217;s internal control over financial reporting as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, based on criteria established in the 2013 </font><font style="font-family:Arial;font-size:10pt;font-style:italic;">Internal Control-Integrated Framework</font><font style="font-family:Arial;font-size:10pt;">&#32;issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO), and our report dated </font><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;expressed an unqualified opinion.</font></div><div style="line-height:120%;padding-top:24px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ GRANT THORNTON LLP</font></div><div style="line-height:120%;padding-top:24px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Boston, Massachusetts</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">34</font></div></div><hr style="page-break-after:always"><div><a name="sADDF4FBC03D0BA6A563477D7212A7E05"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION &#8211; CONSOLIDATED STATEMENTS OF OPERATIONS</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:57%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands, except per share amounts)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">520,753</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">450,557</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">426,449</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">115,590</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">102,571</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">94,067</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">405,163</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">347,986</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">332,382</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">78,269</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,791</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,831</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">166,110</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">156,674</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">148,699</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Operating income</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">160,784</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">121,521</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">127,852</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">101</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,122</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,031</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Investment income</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,039</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,674</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,156</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other income (expense)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">871</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">645</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(283</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income from continuing operations before income tax expense</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">168,795</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">126,962</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131,756</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense on continuing operations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,968</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">19,298</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20,915</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income from continuing operations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">149,827</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">107,664</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">110,841</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income (loss) from discontinued operations (Note 19)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(255</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">79,410</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,644</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">149,572</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">187,074</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">121,485</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic earnings per weighted-average common and common-equivalent share:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.76</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.25</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.28</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income (loss) from discontinued operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(0.01</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.92</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.12</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.75</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.17</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.40</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted earnings per weighted-average common and common-equivalent share:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.72</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.22</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income (loss) from discontinued operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.91</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.12</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.72</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.36</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">85,338</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,296</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,858</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">87,072</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">87,991</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">89,071</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:14px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:14px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:14px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:14px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:14px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:14px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash dividends per common share</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.30</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.21</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">35</font></div></div><hr style="page-break-after:always"><div><a name="sF65E5DD63C3C78A4C01377D7213FD4AF"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION &#8211; CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</font></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:59%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">149,572</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">187,074</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">121,485</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other comprehensive income (loss), net of tax:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedges:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized gain (loss), net of tax of ($22), $22, and $0 in 2016, 2015, and 2014, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(567</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(27</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(118</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized (gain) loss into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">398</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">201</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net change related to cash flow hedges</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(169</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">174</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(72</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Available-for-sale investments:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized gain (loss), net of tax of $248, ($279), and $40 in 2016, 2015, and 2014, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,672</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(939</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">579</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized (gain) loss into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(191</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(344</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(673</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net change related to available-for-sale investments</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,481</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,283</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(94</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:16px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:16px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:16px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:16px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:16px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:16px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency translation adjustments:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency translation adjustments, net of tax of ($228), ($711) and ($870) in 2016, 2015, and 2014, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(5,616</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11,616</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9,400</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net change related to foreign currency translation adjustments</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(5,616</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11,616</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9,400</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other comprehensive income (loss), net of tax</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(4,304</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12,725</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9,566</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total comprehensive income</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">145,268</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">174,349</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">111,919</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:72pt;"><font style="font-family:inherit;font-size:72pt;">&#160;</font></div><div style="line-height:120%;font-size:72pt;"><font style="font-family:inherit;font-size:72pt;"><br></font></div><div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">36</font></div></div><hr style="page-break-after:always"><div><a name="sF5F59EFEBC0130BF775977D7214B05F7"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION &#8211; CONSOLIDATED BALANCE SHEETS</font></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:67%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ASSETS</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Current assets:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">79,641</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">51,975</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">341,194</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,468</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable, less reserves of $873 and $736 in 2016 and 2015, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">55,438</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">42,846</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Unbilled revenue</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,217</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">24</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,984</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,334</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20,870</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,847</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:44px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total current assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">526,344</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">444,494</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">324,335</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">273,088</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment, net</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">53,992</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">53,285</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">95,280</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">81,448</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Intangible assets, net</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,312</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,315</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28,022</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,517</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other assets</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,319</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,609</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:44px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total assets</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,038,604</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">887,756</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Current liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,830</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,860</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,539</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,272</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,193</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">985</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,211</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,571</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:44px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total current liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">65,773</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">53,688</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">319</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reserve for income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,361</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,830</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other non-current liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,871</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,252</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:44px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">76,005</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">62,089</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Commitments and contingencies (Note 10)</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Shareholders&#8217; equity:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Common stock, $.002 par value &#8211; Authorized: 200,000 and 140,000 shares in 2016 and 2015, respectively, issued and outstanding: 85,939 and 84,856 shares in 2016 and 2015, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">170</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Additional paid-in capital</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">375,030</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">311,008</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Retained earnings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">643,825</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">566,613</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive loss, net of tax</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(56,428</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(52,124</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:44px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total shareholders&#8217; equity</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">962,599</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">825,667</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,038,604</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">887,756</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">37</font></div></div><hr style="page-break-after:always"><div><a name="s394C97EAD07740F42E4277D721616AA2"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION &#8211; CONSOLIDATED STATEMENTS OF CASH FLOWS</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:65%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">2014</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(In thousands)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Cash flows from operating activities:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">149,572</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">187,074</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">121,485</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Adjustments to reconcile net income to net cash provided by operating activities:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(Gain) loss on sale of discontinued business</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">255</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(78,182</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">20,558</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">20,168</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">15,158</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Depreciation of property, plant, and equipment</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">11,678</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">9,868</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">8,443</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Amortization of intangible assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">3,391</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">4,250</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">4,024</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Amortization of discounts or premiums on investments</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">383</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">690</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">1,823</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Realized (gain) loss on sale of investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(1,506</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(344</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(673</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Revaluation of contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(463</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(790</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Change in deferred income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(1,908</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(1,409</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(2,364</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Changes in operating assets and liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Accounts receivable</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(13,251</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(3,950</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(915</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Unbilled revenue</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(2,308</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(242</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(563</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">10,409</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(9,457</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(11,750</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Accounts payable</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">2,087</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(8,872</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">10,896</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">7,771</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(2,831</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">7,812</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">2,110</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">9,957</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">7,700</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(3,188</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">1,527</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">5,893</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(3,509</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">870</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(3,128</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net cash provided by operating activities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">182,081</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">128,327</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">163,841</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Cash flows from investing activities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Purchases of investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(751,868</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(686,650</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(422,633</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Maturities and sales of investments</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">657,250</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">601,441</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">339,470</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Purchases of property, plant, and equipment</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(12,816</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(18,228</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(20,934</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Cash paid for acquisition of business, net of cash acquired</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(14,285</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(1,023</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Cash paid for purchased technology</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(10,475</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net cash received (paid) from sale of discontinued business</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(113</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">104,388</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net cash used in investing activities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(121,832</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(10,547</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(104,097</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Cash flows from financing activities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Issuance of common stock under stock plans</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">43,468</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">27,582</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">16,930</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Repurchase of common stock</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(47,149</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(126,351</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(59,673</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Payment of dividends</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(25,213</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(18,062</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Payment of contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(337</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net cash used in financing activities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(29,231</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(116,831</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(42,743</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Effect of foreign exchange rate changes on cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">(3,352</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(4,668</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(1,951</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net change in cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">27,666</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(3,719</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">15,050</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Cash and cash equivalents at beginning of year</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">51,975</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">55,694</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">40,644</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Cash and cash equivalents at end of year</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">79,641</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">51,975</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">55,694</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Non-cash items related to discontinued operations:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">1,533</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">1,099</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Depreciation and amortization expense</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">566</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">1,141</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Capital expenditures</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">482</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">631</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">38</font></div></div><hr style="page-break-after:always"><div><a name="s7E6DE574258B128D2FEA77D72182FCCA"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION &#8211; CONSOLIDATED STATEMENTS OF SHAREHOLDERS&#8217; EQUITY</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:inherit;font-size:9pt;">&#160;</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:97.39884393063583%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"></td></tr><tr><td style="width:47%;"></td><td style="width:1%;"></td><td style="width:4%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:5%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:5%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:5%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Common Stock</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Additional</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Paid-in</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Capital</font></div></td><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Retained</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Earnings</font></div></td><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Other</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Comprehensive</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Loss</font></div></td><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Shareholders&#8217;</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Equity</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Shares</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Par&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Balance as of December 31, 2013</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">86,831</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">174</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">211,440</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">462,131</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(29,833</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">643,912</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Issuance of common stock under stock plans</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">1,245</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">16,928</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">16,930</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Repurchase of common stock</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(1,534</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(3</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(59,670</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(59,673</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">15,158</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">15,158</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Excess tax benefit from stock option exercises</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">7,871</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">7,871</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Tax benefit for research and development credits as a result of stock options</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">320</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">320</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">121,485</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">121,485</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Net unrealized loss on cash flow hedges net of tax of $0</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(118</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(118</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Reclassification of net realized loss on cash flow hedges</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">46</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">46</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Net unrealized gain on available-for-sale investments, net of tax of $40</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">579</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">579</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Reclassification of net realized gain on the sale of available-for-sale investments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(673</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(673</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Foreign currency translation adjustment, net of tax of ($870)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(9,400</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(9,400</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">86,542</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">173</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">251,717</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">523,946</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(39,399</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">736,437</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Issuance of common stock under stock plans</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">1,520</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">3</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">27,579</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">27,582</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Repurchase of common stock</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(3,206</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(6</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(126,345</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(126,351</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">21,274</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">21,274</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Excess tax benefit from stock option exercises</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">9,964</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">9,964</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Tax benefit for research and development credits as a result of stock options</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">474</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">474</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Payment of dividends</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(18,062</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(18,062</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Net income</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">187,074</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">187,074</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Net unrealized loss on cash flow hedges, net of tax of $22</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(27</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(27</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Reclassification of net realized loss on cash flow hedges</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">201</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">201</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Net unrealized loss on available-for-sale investments, net of tax of ($279)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(939</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(939</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Reclassification of net realized gain on the sale of available-for-sale investments</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(344</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(344</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Foreign currency translation adjustment, net of tax of ($711)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(11,616</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(11,616</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Balance as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">84,856</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">170</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">311,008</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">566,613</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(52,124</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">825,667</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Issuance of common stock under stock plans</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">1,977</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">4</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">43,464</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">43,468</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Repurchase of common stock</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(894</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(47,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(47,149</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">20,558</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">20,558</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Payment of dividends</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(25,213</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(25,213</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">149,572</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">149,572</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Net unrealized loss on cash flow hedges, net of tax of ($22)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(567</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(567</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Reclassification of net realized loss on cash flow hedges</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">398</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">398</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Net unrealized gain on available-for-sale investments, net of tax of $248</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">1,672</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">1,672</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Reclassification of net realized gain on the sale of available-for-sale investments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(191</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(191</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Foreign currency translation adjustment, net of tax of ($228)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(5,616</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(5,616</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">85,939</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">172</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">375,030</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">643,825</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(56,428</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">962,599</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">39</font></div></div><hr style="page-break-after:always"><div><a name="sCD8822563CDB4DD4CEE877D7332F504E"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;font-size:6pt;"><font style="font-family:Arial;font-size:6pt;"><br></font></div><div><a name="s40AFA8C0E72DA736D76377D721B34D1A"></a></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 1:&#160;&#160;Summary of Significant Accounting Policies</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying consolidated financial statements reflect the application of the significant accounting policies described below.</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Nature of Operations</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation is a leading provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, where vision is required.</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Use of Estimates in the Preparation of Financial Statements</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S.&#160;GAAP) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and the disclosure of contingent liabilities as of the balance sheet date, and the reported amounts of revenues and expenses during the year.  Actual results could differ from those estimates.  Significant estimates and judgments include those related to revenue recognition, investments, accounts receivable, inventories, long-lived assets, goodwill, warranty obligations, contingencies, stock-based compensation, income taxes and derivative instruments.</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Basis of Consolidation</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The consolidated financial statements include the accounts of Cognex Corporation and its subsidiaries, all of which are wholly-owned.  All intercompany accounts and transactions have been eliminated.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Foreign Currency Translation</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The financial statements of the Company&#8217;s foreign subsidiaries, where the local currency is the functional currency, are translated using exchange rates in effect at the end of the year for assets and liabilities and average exchange rates during the year for results of operations.  The resulting foreign currency translation adjustment, net of tax, is recorded in shareholders&#8217; equity as other comprehensive income (loss).</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Fair Value Measurements</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company applies a three-level valuation hierarchy for fair value measurements.  The categorization of assets and liabilities within the valuation hierarchy is based upon the lowest level of input that is significant to the measurement of fair value.  Level&#160;1 inputs to the valuation methodology utilize unadjusted quoted market prices in active markets for identical assets and liabilities.  Level 2 inputs to the valuation methodology are other observable inputs, including quoted market prices for similar assets and liabilities, quoted prices for identical and similar assets and liabilities in markets that are not active, or other inputs that are observable or can be corroborated by observable market data. Level 3 inputs to the valuation methodology are unobservable inputs based upon management&#8217;s best estimate of the inputs that market participants would use in pricing the asset or liability at the measurement date, including assumptions about risk.  A change to the level of an asset or liability within the fair value hierarchy is determined at the end of a reporting period.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Cash, Cash Equivalents, and Investments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments purchased with original maturities of three months or less are classified as cash equivalents and are stated at amortized cost.  Debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as short-term investments, as well as equity securities that the Company intends to sell within one year.  Debt securities with remaining maturities greater than one year, as well as a limited partnership interest, are classified as long-term investments.  It is the Company&#8217;s policy to invest in debt securities with effective maturities that do not exceed </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;">&#32;years.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax, recorded in shareholders&#8217; equity as other comprehensive income (loss).  Equity securities that are held for short periods of time with the intention of selling them in the near term are designated as trading and are reported at fair value, with unrealized gains and losses recorded in current operations.  Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method.  The Company&#8217;s limited partnership interest is accounted for using the cost method because the Company&#8217;s investment is less than </font><font style="font-family:Arial;font-size:10pt;">5%</font><font style="font-family:Arial;font-size:10pt;">&#32;of the partnership and the Company has no influence over the partnership&#8217;s operating and financial policies. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">40</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management monitors the carrying value of its investments in debt securities and a limited partnership interest compared to their fair value to determine whether an other-than-temporary impairment has occurred.  If the fair value of a debt security is less than its amortized cost, the Company assesses whether the impairment is other-than-temporary.  In considering whether a decline in fair value is other-than-temporary, we consider many factors.  In its evaluation of its debt securities, management considers the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our intent and ability to hold the security to expected recovery of value, and other meaningful information.  An impairment is considered other-than-temporary if (i)&#160;the Company has the intent to sell the security, (ii)&#160;it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis, or (iii)&#160;the Company does not expect to recover the entire amortized cost basis of the security.  If impairment is considered other-than-temporary based upon condition (i)&#160;or (ii)&#160;described above, the entire difference between the amortized cost and the fair value of the security is recognized in current operations.  If an impairment is considered other-than-temporary based upon condition (iii), the amount representing credit losses (defined as the difference between the present value of the cash flows expected to be collected and the amortized cost basis of the security) is recognized in current operations and the amount relating to all other factors is recognized in shareholders' equity as other comprehensive income (loss).  In its evaluation of its limited partnership interest, management considers the duration and extent of the decline, the length of the Company&#8217;s commitment to the investment, general economic trends, and specific communications with the General Partner.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounts Receivable</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition.  Accounts that are outstanding longer than the payment terms are considered to be past due.  The Company establishes reserves against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer&#8217;s current ability to pay its obligations to the Company, general economic and industry conditions, as well as various other factors.  Receivables are written off against these reserves in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Inventories</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories are stated at the lower of cost or market.  Cost is determined using standard costs, which approximates actual costs under the first-in, first-out (FIFO) method.  The Company&#8217;s inventory is subject to rapid technological change or obsolescence.  The Company reviews inventory quantities on hand and estimates excess and obsolescence exposures based upon assumptions about future demand, product transitions, and market conditions, and records reserves to reduce the carrying value of inventories to their net realizable value.  If actual future demand is less than estimated, additional inventory write-downs would be required.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company generally disposes of obsolete inventory upon determination of obsolescence.  The Company does not dispose of excess inventory immediately, due to the possibility that some of this inventory could be sold to customers as a result of differences between actual and forecasted demand.  When inventory has been written down below cost, such reduced amount is considered the new cost basis for subsequent accounting purposes.  As a result, the Company would recognize a higher than normal gross margin if the reserved inventory were subsequently sold.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Property, Plant, and Equipment</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment are stated at cost and depreciated using the straight-line method over the assets&#8217; estimated useful lives.  Buildings&#8217; useful lives are </font><font style="font-family:Arial;font-size:10pt;">39</font><font style="font-family:Arial;font-size:10pt;">&#32;years, building improvements&#8217; useful lives are </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;">&#32;years, and the useful lives of computer hardware and software, manufacturing test equipment, and furniture and fixtures range from </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;">&#32;years.  Leasehold improvements are depreciated over the shorter of the estimated useful lives or the remaining terms of the leases.  Maintenance and repairs are expensed when incurred; additions and improvements are capitalized.  Upon retirement or disposition, the cost and related accumulated depreciation of the disposed assets are removed from the accounts, with any resulting gain or loss included in current operations.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">41</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Goodwill</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill is stated at cost.  The Company evaluates the possible impairment of goodwill annually each fourth quarter and whenever events or circumstances indicate the carrying value of the goodwill may not be recoverable.  For the past </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">&#32;years, the Company has performed a qualitative assessment of goodwill (commonly known as &#8220;step zero&#8221;) to determine whether further impairment testing is necessary.  Factors that management considers in this assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, and changes in the composition or carrying amount of net assets. In addition, management takes into consideration the goodwill valuation under the last quantitative analysis that was performed.  If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, the entity would proceed to a two-step process.  Step one compares the fair value of the reporting unit with its carrying value, including goodwill.  If the carrying amount exceeds the fair value of the reporting unit, step two is required to measure the amount of impairment loss.  Step two compares the implied fair value of the reporting unit goodwill to the carrying amount of the goodwill.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Intangible Assets</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Intangible assets are stated at cost and amortized over the assets&#8217; estimated useful lives.  Intangible assets are either amortized in relation to the relative cash flows anticipated from the intangible asset or using the straight-line method, depending upon facts and circumstances.  The useful lives of distribution networks range from </font><font style="font-family:Arial;font-size:10pt;">eleven</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">twelve</font><font style="font-family:Arial;font-size:10pt;">&#32;years, of customer contracts and relationships from </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;">&#32;years, and of completed technologies and other intangible assets from </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;">&#32;years.  The Company evaluates the possible impairment of long-lived assets, including intangible assets, whenever events or circumstances indicate the carrying value of the assets may not be recoverable. At the occurrence of a certain event or change in circumstances, the Company evaluates the potential impairment of an asset by estimating the future undiscounted cash flows expected to result from the use and eventual disposition of the asset.  If the sum of the estimated future cash flows is less than the carrying value, the Company determines the amount of such impairment by comparing the fair value of the asset to its carrying value.  The fair value is based upon the present value of the estimated future cash flows using a discount rate commensurate with the risks involved.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Warranty Obligations</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company warrants its products to be free from defects in material and workmanship for periods primarily ranging from </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">&#32;years from the time of sale based upon the product being purchased and the terms of the customer arrangement.  Warranty obligations are evaluated and recorded at the time of sale since it is probable that customers will make claims under warranties related to products that have been sold and the amount of these claims can be reasonably estimated based upon historical costs to fulfill claims.  Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Contingencies</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Loss contingencies are accrued if the loss is probable and the amount of the loss can be reasonably estimated.  Legal costs associated with potential loss contingencies, such as patent infringement matters, are expensed as incurred.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s product revenue is derived from the sale of machine vision systems, which can take the form of hardware with embedded software or software-only, and related accessories.  The Company also generates revenue by providing maintenance and support, consulting, and training services to its customers.  Certain of the Company&#8217;s arrangements include multiple deliverables that provide the customer with a combination of products or services.  In order to recognize revenue, the Company requires that a signed customer contract or purchase order is received, the fee from the arrangement is fixed or determinable, and collection of the resulting receivable is probable.  Assuming that these criteria have been met, product revenue is generally recognized upon delivery, revenue from maintenance and support programs is recognized ratably over the program period, and revenue from consulting and training services is recognized when the services have been provided.  When customer-specified acceptance criteria exists that are substantive, product revenue is deferred, along with associated incremental direct costs, until these criteria have been met and any remaining performance obligations are inconsequential or perfunctory.&#160;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the majority of the Company&#8217;s revenue transactions, revenue recognition and invoicing both occur upon delivery.  In certain circumstances, however, the agreement with the customer provides for invoicing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Invoicing that precedes revenue recognition is common for various customers in the logistics industry where milestone billings are prevalent, resulting </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">42</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">in deferred revenue.  Conversely, the Company records unbilled revenue in connection with a material customer in the consumer electronics industry.  For this arrangement, the Company recognizes revenue for all delivered products when the first production line that incorporates these products is validated, because at that point the remaining performance obligations are inconsequential or perfunctory.  Invoicing for all delivered products occurs as the production lines incorporating those products are installed over a period of several weeks.  The Company also has a technical support obligation related to this arrangement for which revenue is deferred and recognized over the support period of approximately six months.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of the Company&#8217;s product offerings consist of hardware with embedded software.  Under the revenue recognition rules for tangible products, the fee from a multiple-deliverable arrangement is allocated to each of the deliverables based upon their relative selling prices as determined by a selling-price hierarchy.  A deliverable in an arrangement qualifies as a separate unit of accounting if the delivered item has value to the customer on a stand-alone basis.  A delivered item that does not qualify as a separate unit of accounting is combined with the other undelivered items in the arrangement and revenue is recognized for those combined deliverables as a single unit of accounting. The selling price used for each deliverable is based upon vendor-specific objective evidence (VSOE) if available, third-party evidence (TPE) if VSOE is not available, and management&#8217;s best estimate of selling price (BESP) if neither VSOE nor TPE are available. VSOE is the price charged for a deliverable when it is sold separately.  TPE is the price of the Company&#8217;s or any competitor&#8217;s largely interchangeable products or services in stand-alone sales to similarly-situated customers.  BESP is the price at which the Company would sell the deliverable if it were sold regularly on a stand-alone basis, considering market conditions and entity-specific factors.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The selling prices used in the relative selling price allocation method for (1)&#160;certain of the Company&#8217;s services are based upon VSOE, (2) third-party accessories available from other vendors are based upon TPE, and (3)&#160;hardware products with embedded software, custom accessories, and services for which VSOE does not exist are based upon BESP.  The Company does not believe TPE exists for these products and services because they are differentiated from competing products and services in terms of functionality and performance and there are no competing products or services that are largely interchangeable.  BESP has been established for each product line within each region. Management establishes BESP with consideration for market conditions, such as the impact of competition and geographic considerations, and entity-specific factors, such as pricing practices, gross margin objectives, customer size, and market share goals.  Management believes that BESP is reflective of reasonable pricing of that deliverable as if priced on a stand-alone basis.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under the revenue recognition rules for software-only products, the fee from a multiple-deliverable arrangement is allocated to each of the undelivered elements based upon VSOE, which is limited to the price charged when the same deliverable is sold separately, with the residual value from the arrangement allocated to the delivered element.  The portion of the fee that is allocated to each deliverable is then recognized as revenue when the criteria for revenue recognition are met with respect to that deliverable.  If VSOE does not exist for all of the undelivered elements, then all revenue from the arrangement is typically deferred until all elements have been delivered to the customer.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s products are sold directly to end users, as well as to resellers including original equipment manufacturers (OEMs), distributors, and integrators.  Revenue is recognized upon delivery of the product to the reseller, assuming all other revenue recognition criteria have been met.  The Company establishes reserves against revenue for potential product returns, since the amount of future returns can be reasonably estimated based upon experience.  These reserves have historically been immaterial.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certain customers are offered pricing discounts on current sales based upon purchasing volumes or preferred pricing arrangements, for which revenue is reported net of these discounts. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company reports revenue for certain of its product accessory sales on a net basis, by reducing the gross sale amount by the related costs, when certain factors in the arrangement with the customer indicate that the Company is acting as an agent, rather than as a principal.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amounts billed to customers related to shipping and handling, as well as reimbursements received from customers for out-of-pocket expenses, are classified as revenue, with the associated costs included in cost of revenue.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Research and Development</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research and development costs for internally-developed or acquired products are expensed when incurred until technological feasibility has been established for the product.  Thereafter, all software costs may be capitalized until the product is available for general release to customers.  The Company determines technological feasibility at the time the product reaches beta in its stage of development.  Historically, the time incurred between beta and general release to customers has been short, and therefore, the costs have been insignificant. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">43</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Advertising Costs</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Advertising costs are expensed as incurred and totaled </font><font style="font-family:Arial;font-size:10pt;">$1,674,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$2,009,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$2,609,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock-Based Compensation</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  The Company has reserved a specific number of shares of its authorized but unissued shares for issuance upon the exercise of stock options or the granting of restricted stock.  When a stock option is exercised or a restricted stock award is granted, the Company issues new shares from this pool.  The fair values of stock options are estimated on the grant date using a binomial lattice model.  Management is responsible for determining the appropriate valuation model and estimating these fair values, and in doing so, considers a number of factors, including information provided by an outside valuation advisor.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes compensation expense related to stock options using the graded attribution method, in which expense is recognized on a straight-line basis over the service period for each separately vesting portion of the stock option as if the option was, in substance, multiple awards.  The amount of compensation expense recognized at the end of the vesting period is based upon the number of stock options for which the requisite service has been completed. No compensation expense is recognized for options that are forfeited for which the employee does not render the requisite service.  The term &#8220;forfeitures&#8221; is distinct from &#8220;expirations&#8221; and represents only the unvested portion of the surrendered option.  The Company applies estimated forfeiture rates to its unvested options to arrive at the amount of compensation expense that is expected to be recognized over the requisite service period.  At the end of each separately vesting portion of an option, the expense that was recognized by applying the estimated forfeiture rate is compared to the expense that should be recognized based upon the employee&#8217;s service, and a credit to expense is recorded related to those employees that have not rendered the requisite service.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Taxes</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes a tax position in its financial statements when that tax position, based solely upon its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority.  Those tax positions failing to qualify for initial recognition are recognized in the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statutes of limitations.  Derecognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Only the portion of the liability that is expected to be paid within one year is classified as a current liability.  As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statutes of limitations) or are not expected to be paid within one year are not classified as current.  It is the Company&#8217;s policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred tax assets and liabilities are determined based upon the differences between the financial statement and tax bases of assets and liabilities as measured by the enacted tax rates that will be in effect when these differences reverse. Valuation allowances are provided if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sales tax in the United States and similar taxes in other jurisdictions that are collected from customers and remitted to government authorities are presented on a gross basis (i.e., a receivable from the customer with a corresponding payable to the government).  Amounts collected from customers and retained by the Company during tax holidays are recognized as non-operating income when earned.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">44</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Net Income Per Share</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period.  Diluted net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period plus potential dilutive common shares.  Dilutive common equivalent shares consist of stock options and are calculated using the treasury stock method.  Common equivalent shares do not qualify as participating securities.  In periods where the Company records a net loss, potential common stock equivalents are not included in the calculation of diluted net loss per share. </font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Comprehensive Income</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Comprehensive income is defined as the change in equity of a company during a period from transactions and other events and circumstances, excluding transactions resulting from investments by owners and distributions to owners. Accumulated other comprehensive loss, net of tax, as of December 31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;and December 31, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, consists of foreign currency translation adjustments of </font><font style="font-family:Arial;font-size:10pt;">$55,262,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$49,646,000</font><font style="font-family:Arial;font-size:10pt;">, respectively; net unrealized gains on available-for-sale investments of </font><font style="font-family:Arial;font-size:10pt;">$68,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and net unrealized losses on available-for-sale investments of </font><font style="font-family:Arial;font-size:10pt;">$1,413,000</font><font style="font-family:Arial;font-size:10pt;">, respectively; net unrealized gains on derivative instruments of $</font><font style="font-family:Arial;font-size:10pt;">37,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and $</font><font style="font-family:Arial;font-size:10pt;">206,000</font><font style="font-family:Arial;font-size:10pt;">, respectively; and losses on currency swaps, net of gains on long-term intercompany loans of </font><font style="font-family:Arial;font-size:10pt;">$1,271,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in each year. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amounts reclassified from accumulated other comprehensive income to investment income on the Consolidated Statements of Operations were net realized gains of </font><font style="font-family:Arial;font-size:10pt;">$191,000</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$344,000</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$673,000</font><font style="font-family:Arial;font-size:10pt;">&#32;for </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Concentrations of Risk</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash, cash equivalents, investments, and trade receivables.  The Company has certain domestic and foreign cash balances that exceed the insured limits set by the Federal Deposit Insurance Corporation (FDIC) in the United States and equivalent regulatory agencies in foreign countries.  The Company primarily invests in investment-grade debt securities and has established guidelines relative to credit ratings, diversification, and maturities of its debt securities that maintain safety and liquidity.  The Company has not experienced any significant realized losses on its debt securities.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company performs ongoing credit evaluations of its customers and maintains allowances for potential credit losses. The Company has not experienced any significant losses related to the collection of its accounts receivable.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A significant portion of the Company's product is manufactured by a third-party contractor located in Indonesia.  This contractor has agreed to provide Cognex with termination notification periods and last-time-buy rights, if and when that may be applicable.  We rely upon this contractor to provide quality product and meet delivery schedules.  We engage in extensive product quality programs and processes, including actively monitoring the performance of our third-party manufacturers; however, we may not detect all product quality issues through these programs and processes.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certain components are presently sourced from a single vendor that is selected based on price and performance considerations.  In the event of a supply disruption from a single-source vendor, these components may be purchased from an alternative vendor, which may result in manufacturing delays based on the lead time of the new vendor.  Certain key electronic and mechanical components that are purchased from strategic suppliers, such as processors or imagers, are fundamental to the design of Cognex products.  A disruption in the supply of these key components, such as a last-time-buy announcement, natural disaster, financial bankruptcy, or other event, may require us to purchase a significant amount of inventory at unfavorable prices resulting in lower gross margins and higher risk of carrying excess inventory.  If we are unable to secure adequate supply from alternative sources, we may have to redesign our products, which may lead to a delay in manufacturing and a possible loss of sales.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Derivative Instruments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Derivative instruments are recorded on the Consolidated Balance Sheets at fair value.  Changes in the fair value of derivatives are recorded each period in current operations or in shareholders' equity as other comprehensive income (loss), depending upon whether the derivative is designated as a hedge transaction and, if it is, the effectiveness of the hedge.  At the inception of the contract, the Company designates foreign currency forward exchange contracts as either a cash flow hedge of certain forecasted foreign currency denominated sales and purchase transactions or as an economic hedge.  Changes in the fair value of a derivative that is highly effective and that is designated and qualifies as a cash flow hedge are recorded in shareholders' equity as other comprehensive income (loss), and reclassified into current operations in the same period during which the hedged transaction affects current operations and in the same </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">45</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">financial statement line item as that of the forecasted transaction.  Cash flow hedges are evaluated for effectiveness quarterly.  Any hedge ineffectiveness (which represents the amount by which the changes in the fair value of the derivative exceed the variability in the cash flows of the forecasted transaction) is recorded in current operations in the period in which ineffectiveness is determined.  Changes in the fair value of the Company&#8217;s economic hedges (not designated as a cash flow hedge) are reported in current operations.  The cash flows from derivative instruments are presented in the same category on the Consolidated Statements of Cash Flows as the category for the cash flows from the hedged item.  Generally, this accounting policy election results in cash flows related to derivative instruments being classified as an operating activity on the Consolidated Statements of Cash Flows.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk-management objective and strategy for undertaking various hedge transactions.  This process includes linking all derivatives that are designated as cash flow hedges to specific forecasted transactions.  The Company also formally assesses (both at the hedge&#8217;s inception and on an ongoing basis) whether the derivatives that are used in hedging transactions have been highly effective in offsetting changes in the fair value or cash flows of hedged items and whether those derivatives may be expected to remain highly effective in future periods.  When it is determined that a derivative is not (or has ceased to be) highly effective as a hedge, the Company discontinues hedge accounting prospectively, as discussed below.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company discontinues hedge accounting prospectively when (1) it determines that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item; (2) the derivative expires or is sold, terminated, or exercised; (3) it is no longer probable that the forecasted transaction will occur; or (4) management determines that designating the derivative as a hedging instrument is no longer appropriate or desired.  When the Company discontinues hedge accounting because it is no longer probable that the forecasted transaction will occur in the originally expected period, the gain or loss on the derivative remains in accumulated other comprehensive income (loss) and is reclassified into current operations when the forecasted transaction affects current operations.  However, if it is probable that a forecasted transaction will not occur by the end of the originally specified time period or within an additional two-month period of time thereafter, the gain or loss that was accumulated in other comprehensive income (loss) is recognized immediately in current operations.  In all situations in which hedge accounting is discontinued and the derivative remains outstanding, the Company carries the derivative at fair value on the Consolidated Balance Sheets, recognizing changes in the fair value in current operations, unless it is designated in a new hedging relationship.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes all derivative instruments as either current assets or current liabilities at fair value on the Consolidated Balance Sheets.  When the Company is engaged in more than one outstanding derivative contract with the same counterparty and also has a legally enforceable master netting agreement with that counterparty, the &#8220;net&#8221; mark-to-market exposure represents the netting of the positive and negative exposures with that counterparty.  Accordingly, cash flow hedges are presented net on the Consolidated Balance Sheets.  </font></div><div><a name="s722D0EC9B2448936EAD677D721CD9472"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 2:  New Pronouncements</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2014-09, &#8220;Revenue from Contracts with Customers&#8221;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The amendments in ASU 2014-09 will supersede and replace all currently existing U.S. GAAP, including industry-specific revenue recognition guidance, with a single, principle-based revenue recognition framework.  The concept guiding this new model is that revenue recognition will depict transfer of control to the customer in an amount that reflects consideration to which an entity expects to be entitled.  The core principles supporting this framework include (1) identifying the contract with a customer, (2) identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance obligations, and (5) recognizing revenue.  This new framework will require entities to apply significantly more judgment.  This increase in management judgment will require expanded disclosure on estimation methods, inputs, and assumptions for revenue recognition.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In March 2016, ASU 2016-08, "Principal versus Agent Considerations (Reporting Revenue Gross versus Net)," was issued, in April 2016, ASU 2016-10, "Identifying Performance Obligations and Licensing," was issued, in May 2016, ASU 2016-12, "Narrow-Scope Improvements and Practical Expedients" was issued, and in December 2016, ASU 2016-20. "Technical Corrections and Improvements," was issued.  These Updates do not change the core principle of the guidance under ASU 2014-09, but rather provide implementation guidance.  ASU 2015-14, "Deferral of the effective date," amended the effective date of ASU 2014-09 for public companies to annual reporting periods beginning after December 15, 2017.  Early adoption is permitted, but only beginning after December 15, 2016.  The Financial Accounting Standards Board may release additional implementation guidance in future periods. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We expect to adopt this standard using the full retrospective method to present all periods reported on a consistent basis.  Upon adoption, revenue for software-only products sold as part of multiple-deliverable arrangements will no </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">46</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:11pt;"><font style="font-family:Arial;font-size:10pt;">longer be deferred when vendor-specific objective evidence of fair value does not exist for undelivered elements of the arrangement.  This change will result in earlier recognition of revenue.  In addition, we expect certain of the Company&#8217;s product accessory sales, which are currently reported on a net basis, to be reported on a gross basis as a result of applying the expanded guidance in the new standard related to principal versus agent considerations.  This change will result in the Company reporting higher revenue and higher cost of revenue when these sales are reported on a gross basis, although the gross margin dollars will not change.  We do not expect either of these changes to have a material impact on total revenue.  Management will continue to evaluate the impact of this standard</font><font style="font-family:inherit;font-size:11pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2015-11, "Inventory - Simplifying the Measurement of Inventory"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2015-11 requires companies to measure most inventory at the lower of cost and net realizable value, thereby simplifying the current guidance under which a company must measure inventory at the lower of cost or market.  This ASU eliminates the need to determine replacement cost and evaluate whether said cost is within a quantitative range.  This ASU also further aligns U.S. GAAP and international accounting standards.  For public companies, the guidance in ASU 2015-11 is effective for annual periods beginning after December 15, 2016, and interim periods within those annual periods.  Early adoption is permitted.  Management does not expect ASU 2015-11 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-01, "Financial Instruments - Recognition and Measurement of Financial Assets and Financial Liabilities"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-01 provides guidance related to certain aspects of recognition, measurement, presentation, and disclosure of financial instruments.  The amendments in this Update affect all entities that hold financial assets or owe financial liabilities.  This ASU requires equity investments (except those accounted under the equity method) to be measured at fair value with changes in fair value recognized in net income.  However, an entity may choose to measure equity investments that do not have readily determinable fair values at cost minus impairment.  This ASU also eliminates the requirement for public companies to disclose the methods and significant assumptions used to estimate the fair value for financial instruments measured at amortized cost on the balance sheet, and it requires separate presentation of financial assets and financial liabilities by measurement category and form of financial asset on the balance sheet or the accompanying notes to the financial statements.  For public companies, the guidance in ASU 2016-01 is effective for annual periods beginning after December 15, 2017, and interim periods within those annual periods.  Early adoption is not permitted except for certain amendments in this Update.  Management does not expect ASU 2016-01 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-02, "Leases"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current U.S. GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current U.S. GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current U.S. GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  This ASU should be applied using a modified retrospective approach. Management is in the process of evaluating the impact of this Update. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-05, "Derivatives and Hedging - Effect of Derivative Contract Novations on Existing Hedge Accounting Relationships"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-05 applies to all reporting entities for which there is a change in the counterparty to a derivative instrument that has been designated as the hedging instrument.  The amendments in this Update clarify that a change in the counterparty does not, in and of itself, require de-designation of that hedging relationship provided that all other hedge accounting criteria continue to be met.  For public companies, the guidance in ASU 2016-05 is effective for annual periods beginning after December 15, 2016, and interim periods within those annual periods.  This ASU should be applied on either a prospective basis or a modified retrospective basis.  Management does not expect ASU 2016-05 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this Update eliminate the probable initial recognition threshold to </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">47</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this Update require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.&#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-16 applies to all reporting entities with intra-entity transfers of assets other than inventory.  The amendments in this Update allow the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory when the transfer occurs, as opposed to when the asset has been sold to an outside party under current U.S. GAAP.   Two common examples of assets included in the scope of this Update are intellectual property and property, plant, and equipment.  For public companies, the amendments in ASU 2016-16 are effective for annual reporting periods beginning after December 15, 2017, and interim reporting periods within those annual periods.  Early adoption is permitted for all entities as of the beginning of an annual reporting period for which financial statements (interim or annual) have not been issued or made available for issuance.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption.  Management is in the process of evaluating the impact of this Update. </font></div><div><a name="s9FE999C656A40632A22F77D722364D14"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 3:&#160;&#160;Fair Value Measurements</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities measured at fair value on a recurring basis as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:93.56725146198829%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:50%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Quoted&#160;Prices&#160;in</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Active Markets</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">for Identical</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Assets (Level&#160;1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Significant&#160;Other</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Observable</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Inputs (Level&#160;2)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unobservable Inputs                       (Level 3)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,334</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">311,140</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">159,455</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,560</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,883</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,242</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,750</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">43</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4,173</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2.  Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service.  For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">48</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company did not record an other-than-temporary impairment of these financial assets in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, or </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid, using significant inputs that are not observable in the market, and are therefore classified as Level 3.  Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones, for the Manatee Works, Inc. (Manatee) and Chiaro Technologies LLC (Chiaro) acquisitions, and the likelihood of completing certain tasks for the EnShape GmbH (EnShape) acquisition.  The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:77%;"></td><td style="width:1%;"></td><td style="width:21%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration resulting from Manatee acquisition </font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,790</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(790</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Payment of Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(337</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(463</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration resulting from EnShape acquisition </font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,362</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration resulting from Chiaro acquisition </font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">611</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,173</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Refer to Note 20 to the Consolidated Financial Statements for further information regarding acquisitions.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets that are Measured at Fair Value on a Non-recurring Basis</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has an interest in a limited partnership, which is accounted for using the cost method.  During 2016, the Company received a distribution from the Partnership that was accounted for as a return of capital and reduced the carrying value of this investment to </font><font style="font-family:Arial;font-size:10pt;">zero</font><font style="font-family:Arial;font-size:10pt;">.  Accordingly, the Company is no longer required to measure this investment at fair value on a non-recurring basis.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-financial assets such as property, plant, and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized.  The Company did not record an impairment charge related to these assets in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, or </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">49</font></div></div><hr style="page-break-after:always"><div><a name="sFFB6DD8E0F0FBD38A7DB77D7224D6FD5"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 4:&#160;&#160;Cash, Cash Equivalents, and Investments</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:66%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">77,307</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,334</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,024</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">79,641</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">51,975</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">141,188</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">54,376</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">69,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">61,994</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">67,175</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">109,360</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">46,499</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,730</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,298</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,440</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">590</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,903</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">978</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">341,194</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,468</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,952</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">176,575</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">92,280</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">44,437</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,946</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">24,582</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">23,585</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,503</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">10,339</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,180</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,233</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,869</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Limited partnership interest (accounted for using cost method)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">942</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">324,335</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">273,088</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">745,170</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">621,531</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s cash balance included foreign bank balances totaling </font><font style="font-family:Arial;font-size:10pt;">$68,076,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$39,279,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; treasury bills consist of debt securities issued by  the U.S. government; the Euro liquidity fund invests in a portfolio of investment-grade bonds; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; and agency bonds consist of domestic or foreign obligations of government agencies and government- sponsored enterprises that have government backing.  The Euro liquidity fund is denominated in Euros, and the remaining securities are denominated in U.S. Dollars.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">50</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"></td></tr><tr><td style="width:37%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortized</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Cost</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gains</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">141,216</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(65</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">141,188</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,623</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(27</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,201</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(47</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,175</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,173</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">326</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,313</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(15</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,298</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,900</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,903</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">169,911</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">406</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(365</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">169,952</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,392</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(152</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,280</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,968</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(47</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,946</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,704</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(125</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,585</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,310</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,339</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,236</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,233</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">665,464</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">913</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(848</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">665,529</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"></td></tr><tr><td style="width:35%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized Loss</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Position For Less than</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized Loss<br>Position For Greater than<br>12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized<br>Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized<br>Losses</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">117,853</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(400</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,931</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(30</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">132,784</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(430</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">99,358</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(199</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">99,358</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(199</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,429</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(70</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,998</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">51,427</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(74</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,687</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(140</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,687</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(140</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,028</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,028</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">294,355</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(814</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20,929</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(34</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">315,284</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(848</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;">, the Company did not recognize any other-than-temporary impairment of these investments. In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our intent and ability to hold the security to expected recovery of value, and other meaningful information.  The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before its effective maturity or market price recovery.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded gross realized gains on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$292,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$549,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$843,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in 2014, and gross realized losses on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$101,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$205,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$170,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in 2014.  These gains and losses are included in "Investment income" on the Consolidated Statement of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&#8217; equity as other comprehensive income (loss). </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">51</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the effective maturity dates of the Company&#8217;s available-for-sale investments as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="25"></td></tr><tr><td style="width:34%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">&lt;1&#160;Year</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">1-2&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2-3&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">3-4&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">4-5&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">141,188</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">84,007</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77,975</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,211</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,759</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">311,140</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,175</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,280</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">159,455</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,957</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,372</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,530</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">87</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,560</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,298</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">19,007</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,578</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,883</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,903</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,614</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,725</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,242</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,233</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,750</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">341,194</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">213,098</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">92,650</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,741</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,846</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">665,529</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company is a Limited Partner in Venrock Associates III, L.P. (Venrock), a venture capital fund.  The Company has committed to a total investment in the limited partnership of up to </font><font style="font-family:Arial;font-size:10pt;">$20,500,000</font><font style="font-family:Arial;font-size:10pt;">&#32;with an expiration date of December 31, 2017.  The Company does not have the right to withdraw from the partnership prior to this date.  As of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, the Company contributed </font><font style="font-family:Arial;font-size:10pt;">$19,886,000</font><font style="font-family:Arial;font-size:10pt;">&#32;to the partnership.  The remaining commitment of </font><font style="font-family:Arial;font-size:10pt;">$614,000</font><font style="font-family:Arial;font-size:10pt;">&#32;can be called by Venrock at any time before December&#160;31, 2017.  Contributions and distributions are at the discretion of Venrock&#8217;s management.  </font><font style="font-family:Arial;font-size:10pt;">No</font><font style="font-family:Arial;font-size:10pt;">&#32;contributions were made in 2016.  The Company received cash distributions totaling </font><font style="font-family:Arial;font-size:10pt;">$2,257,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in 2016, of which </font><font style="font-family:Arial;font-size:10pt;">$942,000</font><font style="font-family:Arial;font-size:10pt;">&#32;was accounted for as a return of capital, reducing the carrying value of this investment to zero, with the remaining </font><font style="font-family:Arial;font-size:10pt;">$1,315,000</font><font style="font-family:Arial;font-size:10pt;">&#32;recorded as investment income.</font></div><div><a name="sD3B30404F9CAEA08C35277D722B50B25"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 5:&#160;&#160;Inventories</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:67%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Raw materials</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,224</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,301</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Work-in-process</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,760</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,136</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Finished goods</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,897</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,984</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,334</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="s8645105A8266D7D1191277D722B90F2E"></a></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 6:&#160;&#160;Property, Plant, and Equipment</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:65%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Land</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Buildings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">23,280</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,439</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Building improvements</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28,049</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25,741</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Leasehold improvements</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,237</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,999</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Computer hardware and software</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39,409</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,350</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Manufacturing test equipment</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,726</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,201</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Furniture and fixtures</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,843</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,401</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">123,495</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">114,082</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Less: accumulated depreciation</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(69,503</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(60,797</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">53,992</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">53,285</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The cost of property, plant, and equipment totaling </font><font style="font-family:Arial;font-size:10pt;">$3,191,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">$2,285,000</font><font style="font-family:Arial;font-size:10pt;">&#32;was removed from both the asset and accumulated depreciation balances in </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2015</font><font style="font-family:Arial;font-size:10pt;">, respectively.  Gains and losses on these disposals were immaterial in both periods.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Buildings include rental property with a cost basis of </font><font style="font-family:Arial;font-size:10pt;">$5,750,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and accumulated depreciation of </font><font style="font-family:Arial;font-size:10pt;">$2,922,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$2,775,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">52</font></div></div><hr style="page-break-after:always"><div><a name="s1AE3564F507B66A4402A77D722C77C4C"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 7:&#160;&#160;Goodwill</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the carrying value of goodwill were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:84%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77,388</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of Manatee Works, Inc. </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,060</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">81,448</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of AQSense, S.L. </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,383</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of EnShape GmbH</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,613</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of Chiaro Technologies LLC </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,911</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of Webscan, Inc.</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">925</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">95,280</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Refer to Note 20 to the Consolidated Financial Statements for further information regarding acquisitions.  </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  Goodwill assigned to SISD was </font><font style="font-family:Arial;font-size:10pt;">$4,301,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and was included as part of the sale.  The Company had previously identified SISD, along with its Modular Vision Systems Division (MVSD), as reporting units for purposes of its goodwill impairment test.  Given the disposition of SISD, management reviewed its reporting units and concluded that the Company now has one reporting unit</font><font style="font-family:inherit;font-size:10pt;">.</font><font style="font-family:Arial;font-size:10pt;">&#32;</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For its </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;analysis of goodwill, management elected to perform a qualitative assessment (commonly known as &#8220;step zero&#8221;).  Based upon this assessment, management does not believe that it is more likely than not that the carrying value of the reporting unit exceeds its fair value.  Factors that management considered in the qualitative assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, and changes in the composition or carrying amount of net assets. In addition, management took into consideration the goodwill valuation as of October 4, 2010, which was the last time it was performed under the two-step process.  At that time, this analysis indicated that the fair value of the MVSD reporting unit exceeded its carrying value by approximately </font><font style="font-family:Arial;font-size:10pt;">208%</font><font style="font-family:Arial;font-size:10pt;">.  As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, management does not believe any qualitative factors exist that would change the conclusion of their assessment.</font></div><div><a name="sA4C3DCAE771611D628C777D722CB2F24"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 8:&#160; Intangible Assets</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:53%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37,422</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">638</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,605</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,836</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,769</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,003</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,098</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,905</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">52,668</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">44,356</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,312</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,051</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,009</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,880</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,749</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,340</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,165</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,175</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,280</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40,965</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,315</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">53</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Estimated amortization expense for each of the five succeeding fiscal years and thereafter is as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,311</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,770</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,395</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">971</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">794</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,071</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,312</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="s2237E5548E453B8975C577D722DD0F85"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 9:&#160;&#160;Accrued Expenses</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:65%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Company bonuses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,462</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,895</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Salaries, commissions, and payroll taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,193</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,859</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vacation</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,860</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,482</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,335</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,174</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign retirement obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,388</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,249</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,301</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,613</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,539</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,272</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,086</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,383</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,873</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(422</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,174</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,001</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,689</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(151</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,335</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="sF953B4E8A1CB6699BDDF77D722E7816A"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 10:&#160;&#160;Commitments and Contingencies</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Commitments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, the Company had outstanding purchase orders totaling </font><font style="font-family:Arial;font-size:10pt;">$3,352,000</font><font style="font-family:Arial;font-size:10pt;">&#32;to purchase inventory from various vendors.  Certain of these purchase orders may be canceled by the Company, subject to cancellation penalties. These purchase commitments relate to expected sales in 2017.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company conducts certain of its operations in leased facilities.  These lease agreements expire at various dates through 2024 and are accounted for as operating leases.  Certain of these leases contain renewal options, retirement obligations, escalation clauses, rent holidays, and leasehold improvement incentives.  Annual rental expense totaled </font><font style="font-family:Arial;font-size:10pt;">$6,090,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$5,778,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$5,560,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">54</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Future minimum rental payments under these agreements are as follows (in thousands):</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.41520467836257%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:84%;"></td><td style="width:3%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,054</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,303</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,164</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,853</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,735</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,498</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">15,607</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company owns buildings adjacent to its corporate headquarters that are partially occupied with tenants who have lease agreements that expire at various dates through 2021.  Annual rental income totaled </font><font style="font-family:Arial;font-size:10pt;">$1,911,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$1,921,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$1,794,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  Rental income and related expenses are included in &#8220;Other income (expense)&#8221; on the Consolidated Statements of Operations.  Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:84%;"></td><td style="width:3%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">812</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">530</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">543</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">557</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">187</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,629</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Contingencies</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In March 2013, the Company filed a lawsuit against Microscan Systems, Inc. (&#8220;Microscan&#8221;) and Code Corporation ("Code") in the United States District Court for the Southern District of New York alleging that Microscan&#8217;s Mobile Hawk handheld imager infringes U.S. Patent 7,874,487 owned by the Company (the "'487 patent&#8221;).  The lawsuit sought to prohibit Code from manufacturing the product, and Microscan from selling and distributing the product. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In August 2014, Microscan filed a lawsuit against the Company in the United States District Court for the Southern District of New York alleging that the Company&#8217;s DataMan</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">&#32;8500 handheld imager infringes U.S. Patent 6,352,204 owned by Microscan  (the &#8220;'204 patent&#8221;).  The lawsuit sought to prohibit the Company from manufacturing, selling, and distributing the DataMan</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;">&#32;7500, 8500, 8600, and 9500 products. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In June 2015, the Company executed a settlement agreement with Microscan requiring a payment by the Company of </font><font style="font-family:Arial;font-size:10pt;">$3,500,000</font><font style="font-family:Arial;font-size:10pt;">&#32;which settles all outstanding litigation between the parties.  The settlement included a patent license agreement valued at </font><font style="font-family:Arial;font-size:10pt;">$1,667,000</font><font style="font-family:Arial;font-size:10pt;">&#32;that allows the Company to continue producing current models of its handheld barcode readers, which was recorded as an asset and is being amortized to cost of revenue over the </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;">&#32;year life of the patent.  The remaining </font><font style="font-family:Arial;font-size:10pt;">$1,833,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of the settlement was recorded as expense.  All cases were dismissed by the end of July 2015. In July 2015, the Company also executed an immaterial settlement agreement with Code.  This matter is now closed.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Various other claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company.  While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">55</font></div></div><hr style="page-break-after:always"><div><a name="s890EF047C7DDB319CC2A77D722F21DCC"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 11:&#160;&#160;Indemnification Provisions</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Except as limited by Massachusetts law, the by-laws of the Company require it to indemnify certain current or former directors, officers, and employees of the Company against expenses incurred by them in connection with each proceeding in which he or she is involved as a result of serving or having served in certain capacities. Indemnification is not available with respect to a proceeding as to which it has been adjudicated that the person did not act in good faith in the reasonable belief that the action was in the best interests of the Company.  The maximum potential amount of future payments the Company could be required to make under these provisions is unlimited.  The Company has never incurred significant costs related to these indemnification provisions.  As a result, the Company believes the estimated fair value of these provisions is not material.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In the ordinary course of business, the Company may accept standard limited indemnification provisions in connection with the sale of its products, whereby it indemnifies its customers for certain direct damages incurred in connection with third-party patent or other intellectual property infringement claims with respect to the use of the Company&#8217;s products.  The maximum potential amount of future payments the Company could be required to make under these provisions is generally subject to fixed monetary limits.  The Company has never incurred significant costs to defend lawsuits or settle claims related to these indemnification provisions. As a result, the Company believes the estimated fair value of these provisions is not material.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In the ordinary course of business, the Company also accepts limited indemnification provisions from time to time, whereby it indemnifies customers for certain direct damages incurred in connection with bodily injury and property damage arising from the use of the Company&#8217;s products.  The maximum potential amount of future payments the Company could be required to make under these provisions is generally limited and is likely recoverable under the Company&#8217;s insurance policies.  As a result of this coverage, and the fact that the Company has never incurred significant costs to defend lawsuits or settle claims related to these indemnification provisions, the Company believes the estimated fair value of these provisions is not material.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under the terms of the Company&#8217;s sale of its Surface Inspection Systems Division (SISD) to AMETEK, Inc., the Company has agreed to retain certain liabilities in connection with its business dealings occurring prior to the transaction closing date of July 6, 2015, and to indemnify AMETEK, Inc. in connection with these retained liabilities and for any breach of the representations and warranties made by the Company to AMETEK, Inc. in connection with the sale agreement itself, as is usual and customary in such transactions.  A binding arbitration was concluded in the second quarter of 2016 with respect to certain product performance claims made by an SISD customer, for which the Company remained responsible under the indemnity provisions of the sale transaction.  In that proceeding, the tribunal ordered the Company to pay the customer approximately </font><font style="font-family:Arial;font-size:10pt;">$326,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing a refund of the product purchase price.  The tribunal also ordered the customer to pay the Company approximately </font><font style="font-family:Arial;font-size:10pt;">$45,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing reimbursement of legal fees.  The net settlement of </font><font style="font-family:Arial;font-size:10pt;">$281,000</font><font style="font-family:Arial;font-size:10pt;">&#32;was recorded in discontinued operations in the second quarter of 2016.</font></div><div><a name="s905563C1A46D3C8AF26177D722F28DFE"></a></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 12:&#160;&#160;Derivative Instruments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates.  Currently, the Company enters into two types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">45 days</font><font style="font-family:Arial;font-size:10pt;">&#32;to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as hedging instruments for hedge accounting treatment.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">18 months</font><font style="font-family:Arial;font-size:10pt;">&#32;to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting our budgeted revenues and expenses against foreign currency exchange rate changes compared to our budgeted rates.  These cash flow hedges are designated as hedging instruments for hedge accounting treatment.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">56</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands): </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:50%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2015</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Currency</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Notional Value</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">USD Equivalent</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Notional Value</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">USD Equivalent</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">United States Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,720</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,720</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">342,500</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,960</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">942,500</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,605</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">130</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">547,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,893</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,063</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,425</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Canadian Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">34</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td colspan="12" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">650,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,554</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">700,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,800</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,658</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,441</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,750,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,450</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,400,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,187</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">425,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,448</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">250,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">857</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">929</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,525</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,074</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">802</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,425</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">800</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"></td></tr><tr><td style="width:15%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Balance</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Sheet</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Location&#160; &#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Balance</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Sheet</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Location&#160; &#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2015</font></div></td></tr><tr><td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">expenses&#160;and</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">other current</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">43</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">441</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">201</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">43</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="19"></td></tr><tr><td style="width:18%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:19%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December&#160;31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December&#160;31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2015</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">117</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">479</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">279</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(73</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(29</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(35</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of assets presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">44</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">450</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">244</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">57</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments, net of the underlying exposure, on the consolidated financial statements was as follows (in thousands):</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="14"></td></tr><tr><td style="width:22%;"></td><td style="width:24%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td></tr><tr><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Location in Financial Statements</font></div></td><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December 31,</font></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recorded in shareholders' equity (effective portion)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive income (loss), net of tax</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">206</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(438</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(387</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(14</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(42</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(398</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(201</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(46</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(515</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">247</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the changes in accumulated other comprehensive income (loss), net of tax, related to derivative instruments (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:79%;"></td><td style="width:1%;"></td><td style="width:19%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized loss on cash flow hedges</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(27</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized loss on cash flow hedges into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">201</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">206</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized loss on cash flow hedges</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(567</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized loss on cash flow hedges into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">398</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net gains expected to be reclassified from accumulated other comprehensive income (loss), net of tax, into current operations within the next </font><font style="font-family:Arial;font-size:10pt;">twelve months</font><font style="font-family:Arial;font-size:10pt;">&#32;are </font><font style="font-family:Arial;font-size:10pt;">$37,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><a name="s5057F386EE2F5A49DD6677D723238830"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 13:&#160;&#160;Shareholders&#8217; Equity</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Preferred Stock</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has </font><font style="font-family:Arial;font-size:10pt;">400,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares of authorized but unissued </font><font style="font-family:Arial;font-size:10pt;">$.01</font><font style="font-family:Arial;font-size:10pt;">&#32;par value preferred stock.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">58</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Common Stock</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On April 28, 2016, the Company's shareholders approved an amendment to the Company's Articles of Organization to increase the authorized number of shares of common stock from </font><font style="font-family:Arial;font-size:10pt;">140,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">200,000,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Each outstanding share of common stock entitles the record holder to </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;">&#32;vote on all matters submitted to a vote of the Company&#8217;s shareholders.  Common shareholders are also entitled to dividends when and if declared by the Company&#8217;s Board of Directors.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Shareholder Rights Plan</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has adopted a Shareholder Rights Plan, the purpose of which is, among other things, to enhance the Board of Directors&#8217; ability to protect shareholder interests and to ensure that shareholders receive fair treatment in the event any coercive takeover attempt of the Company is made in the future.  The Shareholder Rights Plan could make it more difficult for a third party to acquire, or could discourage a third party from acquiring, the Company or a large block of the Company&#8217;s common stock.  The following summary description of the Shareholder Rights Plan does not purport to be complete and is qualified in its entirety by reference to the Company&#8217;s Shareholder Rights Plan, which has been previously filed by the Company with the Securities and Exchange Commission as an exhibit to a Registration Statement on Form&#160;8-A filed on December&#160;5, 2008.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In connection with the adoption of the Shareholder Rights Plan, the Board of Directors of the Company declared a dividend distribution of </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;">&#32;&#32;purchase right (a &#8220;Right&#8221;) for each outstanding share of common stock to shareholders of record as of the close of business on December&#160;5, 2008.  The Rights currently are not exercisable and are attached to and trade with the outstanding shares of common stock. Under the Shareholder Rights Plan, the Rights become exercisable if a person becomes an &#8220;acquiring person&#8221; by acquiring </font><font style="font-family:Arial;font-size:10pt;">15%</font><font style="font-family:Arial;font-size:10pt;">&#32;or more of the outstanding shares of common stock or if a person commences a tender offer that would result in that person owning </font><font style="font-family:Arial;font-size:10pt;">15%</font><font style="font-family:Arial;font-size:10pt;">&#32;or more of the common stock.  If a person becomes an &#8220;acquiring person,&#8221; each holder of a Right (other than the acquiring person) would be entitled to purchase, at the then-current exercise price, such number of shares of the Company&#8217;s preferred stock which are equivalent to shares of common stock having twice the exercise price of the Right.  If the Company is acquired in a merger or other business combination transaction after any such event, each holder of a Right would then be entitled to purchase, at the then-current exercise price, shares of the acquiring company&#8217;s common stock having a value of twice the exercise price of the Right.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock Repurchases</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In August 2015, the Company's Board of Directors authorized the repurchase of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of the Company's common stock.  As of December 31, 2016, the Company repurchased </font><font style="font-family:Arial;font-size:10pt;">2,666,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;under this program, including </font><font style="font-family:Arial;font-size:10pt;">355,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$16,064,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in 2016.  Stock repurchases under this August 2015 program are now complete.  In November 2015, the Company's Board of Directors authorized the repurchase of an additional </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of the Company's common stock.  Purchases under this November 2015 program commenced in  2016 upon completion of the August 2015 program.  As of December 31, 2016, the Company repurchased </font><font style="font-family:Arial;font-size:10pt;">539,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$31,085,000</font><font style="font-family:Arial;font-size:10pt;">&#32;under this program, leaving a remaining authorized balance of </font><font style="font-family:Arial;font-size:10pt;">$68,915,000</font><font style="font-family:Arial;font-size:10pt;">.  Total stock repurchases in 2016 amounted to </font><font style="font-family:Arial;font-size:10pt;">$47,149,000</font><font style="font-family:Arial;font-size:10pt;">.  The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Dividends</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s Board of Directors declared and paid cash dividends of </font><font style="font-family:Arial;font-size:10pt;">$0.07</font><font style="font-family:Arial;font-size:10pt;">&#32;per share in the second, third, and fourth quarters of 2015, as well as in the first quarter of 2016.  The dividend was increased to </font><font style="font-family:Arial;font-size:10pt;">$0.075</font><font style="font-family:Arial;font-size:10pt;">&#32;in the second, third, and fourth quarters of 2016.  Total cash dividends paid in 2016 amounted to </font><font style="font-family:Arial;font-size:10pt;">$25,213,000</font><font style="font-family:Arial;font-size:10pt;">.  The cash dividend in the second quarter of 2015 was the first dividend declared and paid since the fourth quarter of 2012 when the Company&#8217;s Board of Directors accelerated dividends in advance of an increase in the federal tax on dividends paid after December 31, 2012.  Due to these accelerated payments, no cash dividends were declared or paid in 2013, 2014, or the first quarter of 2015.  Future dividends will be declared at the discretion of the Company's Board of Directors and will depend upon such factors as the Board deems relevant, including, among other things, the Company's ability to generate positive cash flow from operations.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">59</font></div></div><hr style="page-break-after:always"><div><a name="sE66ECE787F85EB914D8677D7232E7EC9"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 14:&#160;&#160;Stock-Based Compensation</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock Option Plans</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  As of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, the Company had </font><font style="font-family:Arial;font-size:10pt;">8,078,751</font><font style="font-family:Arial;font-size:10pt;">&#32;shares available for grant.  Stock options are granted with an exercise price equal to the market value of the Company&#8217;s common stock at the grant date and generally vest over </font><font style="font-family:Arial;font-size:10pt;">four</font><font style="font-family:Arial;font-size:10pt;">&#32;years based upon continuous service and expire </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;">&#32;years from the grant date.  Conditions of restricted stock awards may be based upon continuing employment and/or achievement of pre-established performance goals and objectives.  Vesting for performance-based restricted stock awards and time-based restricted stock awards must be greater than one year and three years, respectively.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity:</font></div><div style="line-height:120%;padding-bottom:6px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:45%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(in&#160;thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Exercise</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Price</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Remaining</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Contractual</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Term</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(in&#160;years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Aggregate</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Intrinsic Value</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(in&#160;thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,644</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">28.27</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,930</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35.58</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercised</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,977</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21.99</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(164</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37.45</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,433</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">32.16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">202,368</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercisable as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,037</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">22.21</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.3</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">84,359</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of&#160;<br>&#160;December 31, 2016 (1)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,837</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">31.52</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">187,350</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-left:4px;padding-top:12px;text-align:left;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="9"></td></tr><tr><td style="width:56%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Risk-free rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.6</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected dividend yield</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.83</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.25</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected volatility</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected term (in years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.6</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.4</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.4</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Risk-free rate</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected dividend yield</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&#8217;s Board of Directors and dividing that result by the closing stock price on the grant date.&#160;</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected volatility</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The expected volatility was based upon a combination of historical volatility of&#160;the Company&#8217;s&#160;common stock over the contractual term of the option and implied volatility for traded options of the Company&#8217;s stock.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected term</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">60</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company stratifies its employee population into </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;">&#32;groups: one consisting of senior management and another consisting of all other employees.  The Company currently expects that approximately </font><font style="font-family:Arial;font-size:10pt;">77%</font><font style="font-family:Arial;font-size:10pt;">&#32;of its stock options granted to senior management and </font><font style="font-family:Arial;font-size:10pt;">72%</font><font style="font-family:Arial;font-size:10pt;">&#32;of its options granted to all other employees will actually vest.  Therefore, the Company currently applies an estimated forfeiture rate of </font><font style="font-family:Arial;font-size:10pt;">9%</font><font style="font-family:Arial;font-size:10pt;">&#32;to all unvested options for senior management and a rate of </font><font style="font-family:Arial;font-size:10pt;">11%</font><font style="font-family:Arial;font-size:10pt;">&#32;for all other employees.  The Company revised its estimated forfeiture rates in the first quarter of </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, resulting in an increase to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$334,000</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$461,000</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$288,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair value of stock options granted was </font><font style="font-family:Arial;font-size:10pt;">$12.65</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$14.35</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$15.97</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total intrinsic value of stock options exercised was </font><font style="font-family:Arial;font-size:10pt;">$55,580,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$43,987,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$31,884,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">. The total fair value of stock options vested was </font><font style="font-family:Arial;font-size:10pt;">$18,114,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$16,227,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$11,627,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, total unrecognized compensation expense related to non-vested stock options was </font><font style="font-family:Arial;font-size:10pt;">$19,742,000</font><font style="font-family:Arial;font-size:10pt;">, which is expected to be recognized over a weighted-average period of </font><font style="font-family:Arial;font-size:10pt;">1.52</font><font style="font-family:Arial;font-size:10pt;">&#32;years.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's restricted stock activity: </font></div><div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11"></td></tr><tr><td style="width:46%;"></td><td style="width:16%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average       Grant Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate Intrinsic Value                  (in thousands) (1)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">34.05</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vested</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">34.05</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,272</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#32;&#32;&#160;&#160;&#160;&#160;(1) Fair market value as of December 31, 2016.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of restricted stock awards granted were determined based upon the market value of the Company's common stock at the time of grant.  The initial cost is then amortized over the period of vesting until the restrictions lapse.  These restricted shares will be fully vested in 2018.  Participants are entitled to dividends on restricted stock awards, but only receive those amounts if the shares vest.  The sale or transfer of these shares is restricted during the vesting period.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total stock-based compensation expense and the related income tax benefit recognized was </font><font style="font-family:Arial;font-size:10pt;">$20,558,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$6,747,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$21,274,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$7,127,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$15,158,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$4,977,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  No compensation expense was capitalized in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, or </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:53%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,052</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,515</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,116</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,271</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,194</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,709</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,235</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,032</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,234</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,533</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20,558</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,274</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,158</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Upon the sale of the Company's Surface Inspection Systems Division, completed on July 6, 2015, the Company accelerated the vesting of stock options with respect to </font><font style="font-family:Arial;font-size:10pt;">190,000</font><font style="font-family:Arial;font-size:10pt;">&#32;underlying shares, resulting in an additional </font><font style="font-family:Arial;font-size:10pt;">$1,106,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of stock option expense recorded in the third quarter of 2015. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">61</font></div></div><hr style="page-break-after:always"><div><a name="s80A791AEC8C72C4C301177D7235468FA"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 15:&#160;&#160;Employee Savings Plan</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under the Company&#8217;s Employee Savings Plan, a defined contribution plan, U.S. employees who have attained age </font><font style="font-family:Arial;font-size:10pt;">21</font><font style="font-family:Arial;font-size:10pt;">&#32;may contribute up to 25% of their pay on a pre-tax basis subject to the annual dollar limitations established by the Internal Revenue Service.  The Company currently matches 50% of the first </font><font style="font-family:Arial;font-size:10pt;">6%</font><font style="font-family:Arial;font-size:10pt;">&#32;of pay an employee contributes. Company contributions vest </font><font style="font-family:Arial;font-size:10pt;">20%</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">40%</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">60%</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">100%</font><font style="font-family:Arial;font-size:10pt;">&#32;after two, three, four, and five years of continuous employment with the Company, respectively.  Company contributions totaled </font><font style="font-family:Arial;font-size:10pt;">$1,712,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$1,845,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$1,555,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  Cognex stock is not an investment alternative and Company contributions are not made in the form of Cognex stock.</font></div><div><a name="sEA183F7A2C3988AA84E277D7235AA944"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 16:&#160;&#160;Taxes</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Domestic income from continuing operations before taxes was </font><font style="font-family:Arial;font-size:10pt;">$23,939,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$11,637,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$25,585,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  Foreign income from continuing operations before taxes was </font><font style="font-family:Arial;font-size:10pt;">$144,856,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$115,325,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$106,171,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  </font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense on continuing operations consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:50%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Current:</font></div></td><td colspan="11" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Federal</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">14,459</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,430</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18,852</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(617</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">378</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">608</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,149</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,946</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,854</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21,991</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,754</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">24,314</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Federal</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(3,031</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,541</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,569</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,066</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(165</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,058</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">250</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(837</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(3,023</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,456</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,399</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,968</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">19,298</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20,915</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company records income tax expense on undistributed earnings that the Company does not intend to be indefinitely reinvested outside of the U.S.  Substantially all of the Company&#8217;s undistributed international earnings intended to be indefinitely reinvested outside of the U.S. were generated by subsidiaries organized in Ireland, which has a statutory tax rate of&#160;</font><font style="font-family:Arial;font-size:10pt;">12.5%</font><font style="font-family:Arial;font-size:10pt;">.  As of&#160;December&#160;31, 2016, U.S. income tax expense had not been recorded on a cumulative total of&#160;</font><font style="font-family:Arial;font-size:10pt;">$498,238,000</font><font style="font-family:Arial;font-size:10pt;">&#160;of such earnings.  The amount of unrecognized deferred tax liability related to these temporary differences is estimated to be </font><font style="font-family:Arial;font-size:10pt;">$151,966,000</font><font style="font-family:Arial;font-size:10pt;">.  As of&#160;December&#160;31, 2016&#160;and&#160;December&#160;31, 2015,&#160;respectively,</font><font style="font-family:Arial;font-size:10pt;">$437,691,000</font><font style="font-family:Arial;font-size:10pt;">&#160;and&#160;</font><font style="font-family:Arial;font-size:10pt;">$352,621,000</font><font style="font-family:Arial;font-size:10pt;">, of the Company&#8217;s cash, cash equivalents and investments were held by foreign subsidiaries and are generally denominated in U.S. dollars.  Amounts held by foreign subsidiaries are generally subject to U.S. income taxation on repatriation to the U.S.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A reconciliation of the U.S. federal statutory corporate tax rate to the Company&#8217;s income tax expense on continuing operations, or effective tax rate, was as follows:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="9"></td></tr><tr><td style="width:56%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision at federal statutory corporate tax rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(17</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(19</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(19</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Tax credit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to employee stock option exercises</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other discrete tax events</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision on continuing operations</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of income earned outside of the United States is permanently reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">62</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">jurisdictions as the United States, Ireland, and China.  The statutory tax rate is </font><font style="font-family:Arial;font-size:10pt;">12.5%</font><font style="font-family:Arial;font-size:10pt;">&#32;in Ireland and </font><font style="font-family:Arial;font-size:10pt;">25%</font><font style="font-family:Arial;font-size:10pt;">&#32;in China. International rights to certain of the Company&#8217;s intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate lower than the above mentioned statutory rates.  These differences result in a decrease in the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">17</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">19</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">19</font><font style="font-family:Arial;font-size:10pt;">&#32;percentage points in 2016, 2015, and 2014, respectively.</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2016, the Company adopted Accounting Standards Update 2016-09, "Improvements to Employee Share-Based Payment Accounting," which was issued by the Financial Accounting Standards Board in March 2016. &#160;This Update requires excess tax benefits to be recognized as an income tax benefit in the income statement. &#160;Previous guidance required excess tax benefits to be recognized as additional paid-in-capital in shareholders' equity on the balance sheet.  This provision is required to be applied prospectively and therefore, prior periods were not restated.  As a result of this change, income tax expense was reduced by </font><font style="font-family:Arial;font-size:10pt;">$11,889,000</font><font style="font-family:Arial;font-size:10pt;">, resulting in a </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;">&#32;percentage point decrease in the effective tax rate.  Additionally, this Update also requires excess tax benefits to be classified along with other income tax cash flows as an operating activity in the statement of cash flows.&#160; In order to improve comparability, the Company applied this provision of the amendment retrospectively.  In 2015 and 2014, the Company reclassified a tax benefit of </font><font style="font-family:Arial;font-size:10pt;">$9,964,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$7,871,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, from cash flows provided by financing activities to cash flows provided by operating activities on the consolidated statement of cash flows.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Interest and penalties included in income tax expense was </font><font style="font-family:Arial;font-size:10pt;">$92,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$34,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in 2016 and 2015, respectively.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the reserve for income taxes, excluding gross interest and penalties, were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance of reserve for income taxes as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,127</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in prior periods</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(56</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,291</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,066</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance of reserve for income taxes as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,296</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in prior periods</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,235</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(823</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance of reserve for income taxes as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,719</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was </font><font style="font-family:Arial;font-size:10pt;">$6,389,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of December 31, 2016, which included </font><font style="font-family:Arial;font-size:10pt;">$5,361,000</font><font style="font-family:Arial;font-size:10pt;">&#32;classified as a non-current liability and </font><font style="font-family:Arial;font-size:10pt;">$1,028,000</font><font style="font-family:Arial;font-size:10pt;">&#32;recorded as a reduction to non-current deferred tax assets.  The Company's reserve for income taxes, including gross interest and penalties, was </font><font style="font-family:Arial;font-size:10pt;">$5,858,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of December 31, 2015, which included </font><font style="font-family:Arial;font-size:10pt;">$4,830,000</font><font style="font-family:Arial;font-size:10pt;">&#32;classified as a non-current liability and </font><font style="font-family:Arial;font-size:10pt;">$1,028,000</font><font style="font-family:Arial;font-size:10pt;">&#32;recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was </font><font style="font-family:Arial;font-size:10pt;">$670,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$562,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of December&#160;31, 2016 and December&#160;31, 2015, respectively.  If the Company&#8217;s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.  As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately </font><font style="font-family:Arial;font-size:10pt;">$950,000</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">$1,050,000</font><font style="font-family:Arial;font-size:10pt;">&#32;over the next twelve months.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts and California.  Within the United States, the tax years 2013 through 2016 remain open to examination by the Internal Revenue Service and various state taxing authorities.  The tax years 2012 through 2016 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2011, the Company finalized an Advanced Pricing Agreement (APA) with Japan that will cover tax years 2006 through 2011, with a requested extension to 2012.  The Company has concluded negotiations for an APA between Japan and Ireland that will cover tax years 2014 through 2018 with retroactive application to 2013.  The Company believes it is adequately reserved for these open years.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">63</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred tax assets and liabilities consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:67%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-current deferred tax assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">15,365</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,895</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Federal and state tax credit carryforwards</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,154</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,091</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventory and revenue related</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,919</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,985</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Depreciation</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,882</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,328</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Bonuses, commissions, and other compensation</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,483</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,500</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,714</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,175</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross non-current deferred tax assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">32,517</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,974</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-current deferred tax liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nondeductible intangible assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(379</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,198</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross non-current deferred tax liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(379</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,198</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Valuation allowance</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(4,116</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,259</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net non-current deferred tax assets</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28,022</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,517</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-current deferred tax liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;&#160;Other</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(319</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net non-current deferred tax liabilities</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(319</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2016, the Company adopted Accounting Standards Update 2015-17, "Income Taxes - Balance Sheet Classification of Deferred Taxes."&#160; This Update requires that deferred tax assets and liabilities be classified as non-current in a classified balance sheet. &#160;In order to improve comparability, the Company applied the amendments in this Update retrospectively to all periods presented.  As of December 31, 2015, the Company reclassified current deferred income tax assets and liabilities of </font><font style="font-family:Arial;font-size:10pt;">$7,104,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$319,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, to non-current on the Consolidated Balance Sheets.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded certain intangible assets as a result of the acquisition of DVT Corporation in 2005.  The amortization of these intangible assets is not deductible for U.S. tax purposes.  A deferred tax liability was established to reflect the federal and state liability associated with not deducting the acquisition-related amortization expenses. The balance of this liability was </font><font style="font-family:Arial;font-size:10pt;">$379,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2016, the Company recorded a valuation allowance of </font><font style="font-family:Arial;font-size:10pt;">$857,000</font><font style="font-family:Arial;font-size:10pt;">&#32;for state research and development tax credits that were not considered to be realizable.  Should these credits be utilized in a future period, the reserve associated with these credits would be reversed in the period when it is determined that the credits can be utilized to offset future state income tax liabilities.  In addition, the Company had </font><font style="font-family:Arial;font-size:10pt;">$6,181,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of state research and development tax credit carryforwards, net of federal tax, as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, which will begin to expire in 2019.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">While the deferred tax assets, net of valuation allowance, are not assured of realization, management has evaluated the realizability of these deferred tax assets and has determined that it is more likely than not that these assets will be realized.  In reaching this conclusion, we have evaluated certain relevant criteria including the Company&#8217;s historical profitability, current projections of future profitability, and the lives of tax credits, net operating losses, and other carryforwards.  Should the Company fail to generate sufficient pre-tax profits in future periods, we may be required to establish valuation allowances against these deferred tax assets, resulting in a charge to current operations in the period of determination.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  A pre-tax gain of  </font><font style="font-family:Arial;font-size:10pt;">$125,357,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and associated income tax expense of </font><font style="font-family:Arial;font-size:10pt;">$47,175,000</font><font style="font-family:Arial;font-size:10pt;">&#32;was recorded in 2015.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash paid for income taxes totaled </font><font style="font-family:Arial;font-size:10pt;">$20,748,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$58,280,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$17,549,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  The 2015 income tax payments included remittances related to the sale of SISD.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">64</font></div></div><hr style="page-break-after:always"><div><a name="s0B2F88A239E20DBD640E77D723883BE5"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 17:&#160;&#160;Weighted Average Shares</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="9"></td></tr><tr><td style="width:56%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">85,338</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,296</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,858</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Effect of dilutive stock options</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,734</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,695</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,213</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted weighted-average common and common-equivalent shares outstanding</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">87,072</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">87,991</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">89,071</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock options to purchase </font><font style="font-family:Arial;font-size:10pt;">2,195,799</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">3,035,078</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">1,286,403</font><font style="font-family:Arial;font-size:10pt;">&#32;shares of common stock, on a weighted-average basis, were outstanding in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.</font></div><div><a name="s3284A27239E4AD54C98A77D7238EAFF9"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 18:&#160;&#160;Segment and Geographic Information</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  Prior to this date, the Company had reported SISD as one of its </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;">&#32;segments.  Given the disposition of the SISD segment, management reviewed its segment reporting and concluded that the Company now operates in </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;">&#32;segment, machine vision technology.  Operating segments were not aggregated in reaching this conclusion.  The Company&#8217;s chief operating decision maker is the chief executive officer, who makes decisions to allocate resources and assesses performance at the corporate level.  The Company offers a variety of machine vision products that have similar economic characteristics, have the same production processes, and are distributed by the same sales channels to the same types of customers.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes information about geographic areas (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"></td></tr><tr><td style="width:31%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">United&#160;States</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Europe</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Greater China </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Other</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Year Ended December 31, 2016</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">136,611</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">231,731</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">63,471</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88,940</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">520,753</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-lived assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">40,404</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,981</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">994</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,932</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,311</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Year Ended December 31, 2015</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">119,781</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">199,127</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">54,137</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77,512</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">450,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-lived assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40,742</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,498</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">873</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,781</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,894</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Year Ended December 31, 2014</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">120,523</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">195,214</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,184</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">72,528</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">426,449</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-lived assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,750</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,941</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">858</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,919</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,468</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue is presented geographically based upon the customer&#8217;s country of domicile.  Revenue from a single customer accounted for </font><font style="font-family:Arial;font-size:10pt;">19%</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">18%</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">16%</font><font style="font-family:Arial;font-size:10pt;">&#32;of total revenue in 2016, 2015, and 2014, respectively. </font></div><div><a name="s23BA6117FBC269ECBE0877D723A3EE02"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 19:  Discontinued Operations</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD) to AMETEK, Inc. (AMETEK) for </font><font style="font-family:Arial;font-size:10pt;">$155,655,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in cash.  Transaction costs totaled </font><font style="font-family:Arial;font-size:10pt;">$5,198,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and included $</font><font style="font-family:Arial;font-size:10pt;">1,106,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of stock option expense from the accelerated vesting of stock options in connection with the sale. </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The financial results of SISD are reported as a discontinued operation for all periods presented.  In 2015, a pre-tax gain of </font><font style="font-family:Arial;font-size:10pt;">$125,357,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and associated income tax expense of </font><font style="font-family:Arial;font-size:10pt;">$47,175,000</font><font style="font-family:Arial;font-size:10pt;">&#32;was recorded in "Net income (loss) from discontinued operations" on the Consolidated Statements of Operations.  In 2016, a binding arbitration was concluded in the second quarter of 2016 with respect to certain product performance claims made by an SISD customer, for which the Company remained responsible under the indemnity provisions of the sale transaction.  In that proceeding, the tribunal ordered the Company to pay the customer approximately </font><font style="font-family:Arial;font-size:10pt;">$326,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing a refund of the product purchase price.  The tribunal also ordered the customer to pay the Company approximately </font><font style="font-family:Arial;font-size:10pt;">$45,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing reimbursement of legal fees.  The net settlement of </font><font style="font-family:Arial;font-size:10pt;">$281,000</font><font style="font-family:Arial;font-size:10pt;">&#32;was recorded in discontinued operations in the second quarter of 2016, along with </font><font style="font-family:Arial;font-size:10pt;">$123,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of legal fees.  The tax benefit related to this expense was </font><font style="font-family:Arial;font-size:10pt;">$149,000</font><font style="font-family:Arial;font-size:10pt;">, resulting in a net loss from discontinued operations of </font><font style="font-family:Arial;font-size:10pt;">$255,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">65</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The major classes of revenue and expense included in discontinued operations were as follows (in thousands):</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:64%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Year Ended December 31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,248</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,821</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11,291</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(26,953</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,126</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4,089</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(7,800</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12,968</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency loss</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(177</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(170</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Operating income from discontinued business</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,854</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,641</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gain (loss) on sale of discontinued business</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(404</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">125,357</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income from discontinued operations before income tax expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(404</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">127,211</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,641</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense (benefit) on discontinued operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(149</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,801</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,997</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income (loss) from discontinued operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(255</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">79,410</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,644</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Significant non-cash items related to the discontinued business were as follows (in thousands):</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:64%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Year Ended December 31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,533</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Depreciation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">401</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">777</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortization expense</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">165</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">364</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Capital expenditures</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">482</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">631</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="sE2AC79169EBB8D32718277D723CF70BA"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 20:  Acquisitions</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company completed </font><font style="font-family:Arial;font-size:10pt;">four</font><font style="font-family:Arial;font-size:10pt;">&#32;acquisitions during the year ended December 31, 2016 and </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;">&#32;acquisition during the year ended December 31, 2015.  All of these transactions have been accounted for as business combinations.  Pro-forma information for these acquisitions has not been presented because they are not material, either individually or in the aggregate.  Revenue and earnings since the dates of the acquisitions included in the Company's Consolidated Statements of Operations are also not presented because they are not material.  </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Transaction costs were immaterial and were expensed as incurred during the year of the acquisition.</font><font style="font-family:Arial;font-size:10pt;">&#32;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Webscan, Inc. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On December 9, 2016, the Company acquired selected assets and assumed selected liabilities of Webscan, Inc., a privately-held U.S.-based ID provider of barcode verifiers.  The total purchase price of</font><font style="font-family:Arial;font-size:10pt;">$3,176,000</font><font style="font-family:Arial;font-size:10pt;">&#32;included </font><font style="font-family:Arial;font-size:10pt;">$3,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in cash paid upon closing and </font><font style="font-family:Arial;font-size:10pt;">$176,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in cash paid in January 2017 as a working capital adjustment.  There are no contingent payments.  In addition, the Company entered into special incentive payments tied to employment, none of which are material, that the Company will record as compensation expense. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under this transaction, in addition to customer relationships and completed technologies, the Company acquired a team of individuals including software engineers that are expected to help the Company accelerate the development of future ID products.  Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">66</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:86%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">504</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">680</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">840</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">925</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(77</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,176</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Sheet.  The customer relationships are being amort</font><font style="font-family:Arial;font-size:10pt;">ized to selling, general, and administrative e</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">xpenses on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">over</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">&#32;</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">seven</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">&#32;</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">years, and the completed technologies are being amortized to cost of revenue on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis over </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;">&#32;years.  A portion of t</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">he acquired goodwill is deductible for tax purposes.</font><font style="font-family:Arial;font-size:10pt;">&#32;&#32;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Chiaro Technologies LLC</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On November 30, 2016, the Company acquired selected assets and assumed selected liabilities of Chiaro Technologies LLC, a privately-held U.S.-based 3D vision company.  The total purchase price of </font><font style="font-family:Arial;font-size:10pt;">$4,149,000</font><font style="font-family:Arial;font-size:10pt;">&#32;included </font><font style="font-family:Arial;font-size:10pt;">$3,538,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in cash and contingent consideration valued at </font><font style="font-family:Arial;font-size:10pt;">$611,000</font><font style="font-family:Arial;font-size:10pt;">.  In addition, the Company entered into special incentive payments tied to employment, none of which are material, that the Company will record as compensation expense. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The undiscounted potential outcomes related to the contingent consideration range from </font><font style="font-family:Arial;font-size:10pt;">$0</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">$1,250,000</font><font style="font-family:Arial;font-size:10pt;">&#32;based upon certain milestone revenue levels over the next two years.  As of December 31, 2016, the fair value of the contingent consideration was </font><font style="font-family:Arial;font-size:10pt;">$611,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and was recorded in &#8220;Other non-current liabilities&#8221; on the Consolidated Balance Sheet.  The contingent consideration will be remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under this transaction, in addition to completed technologies, the Company acquired a team of software engineers that are expected to help the Company accelerate the development of future 3D vision products.  Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:86%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,911</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(115</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,149</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;">The completed technologies are included in "Intangible assets" on the Consolidated Balance </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Sheet and are being amortized to cost of revenue on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis over </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;">&#32;years.  A portion of t</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">he acquired goodwill is deductible for tax purposes.</font><font style="font-family:Arial;font-size:10pt;">&#32;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">EnShape GmbH</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On October 27, 2016, the Company acquired all of the outstanding shares of EnShape GmbH, a privately-held 3D sensor provider based in Germany.  The total purchase price of </font><font style="font-family:Arial;font-size:10pt;">&#8364;7,250,000</font><font style="font-family:Arial;font-size:10pt;">&#32;(</font><font style="font-family:Arial;font-size:10pt;">$7,901,000</font><font style="font-family:Arial;font-size:10pt;">) included </font><font style="font-family:Arial;font-size:10pt;">&#8364;4,950,000</font><font style="font-family:Arial;font-size:10pt;">&#32;(</font><font style="font-family:Arial;font-size:10pt;">$5,395,000</font><font style="font-family:Arial;font-size:10pt;">) in cash paid upon closing, </font><font style="font-family:Arial;font-size:10pt;">&#8364;1,050,000</font><font style="font-family:Arial;font-size:10pt;">&#32;(</font><font style="font-family:Arial;font-size:10pt;">$1,144,000</font><font style="font-family:Arial;font-size:10pt;">) of deferred cash payments as a holdback for potential indemnification claims payable in 2018, and </font><font style="font-family:Arial;font-size:10pt;">&#8364;1,250,000</font><font style="font-family:Arial;font-size:10pt;">&#32;(</font><font style="font-family:Arial;font-size:10pt;">$1,362,000</font><font style="font-family:Arial;font-size:10pt;">) of contingent cash payments based upon the completion of certain tasks by June 30, 2017.  In addition, the Company entered into special incentive payments tied to employment, none of which are material, that the Company will record as compensation expense. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The undiscounted potential outcomes related to the contingent consideration are </font><font style="font-family:Arial;font-size:10pt;">&#8364;0</font><font style="font-family:Arial;font-size:10pt;">&#32;or </font><font style="font-family:Arial;font-size:10pt;">&#8364;1,250,000</font><font style="font-family:Arial;font-size:10pt;">&#32;(</font><font style="font-family:Arial;font-size:10pt;">$1,362,000</font><font style="font-family:Arial;font-size:10pt;">) based upon the completion of certain tasks by June 30, 2017.  As of December 31, 2016, the fair value of the contingent consideration was </font><font style="font-family:Arial;font-size:10pt;">&#8364;1,250,000</font><font style="font-family:Arial;font-size:10pt;">&#32;(</font><font style="font-family:Arial;font-size:10pt;">$1,362,000</font><font style="font-family:Arial;font-size:10pt;">) due to the high probability and the short duration to payment, and was recorded in &#8220;Accrued expenses" on the Consolidated Balance Sheets.  The contingent consideration will be remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">67</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under this transaction, in addition to customer relationships and completed technologies, the Company acquired a team of software engineers that are expected to help the Company accelerate the development of  future 3D vision products. Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:86%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">167</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">79</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">44</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">447</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,089</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,613</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(209</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,342</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,901</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Sheet.  The customer relationships are being amort</font><font style="font-family:Arial;font-size:10pt;">ized to selling, general, and administrative e</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">xpenses, and the completed technologies are being amortized to cost of revenue, both on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis over </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;">&#32;years.  A portion of t</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">he acquired goodwill is deductible for tax purposes.</font><font style="font-family:Arial;font-size:10pt;">&#32;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">AQSense, S.L.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On August 30, 2016, the Company acquired selected assets and assumed selected liabilities of AQSense, S.L., a privately-held 3D vision software provider based in Spain.  The total purchase price of </font><font style="font-family:Arial;font-size:10pt;">&#8364;2,232,000</font><font style="font-family:Arial;font-size:10pt;">&#32;(</font><font style="font-family:Arial;font-size:10pt;">$2,519,000</font><font style="font-family:Arial;font-size:10pt;">) was paid in cash and there are no contingent payments. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under this transaction, in addition to customer relationships and completed technologies, the Company acquired a team of software engineers that are expected to help the Company accelerate the development of  future 3D vision products.  Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:86%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">168</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">598</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">384</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,383</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(14</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,519</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Sheet.  The customer relationships are being amort</font><font style="font-family:Arial;font-size:10pt;">ized to selling, general, and administrative e</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">xpenses, and the completed technologies are being amortized to cost of revenue, both on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis over </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;">&#32;years.  A portion of t</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">he acquired goodwill is deductible for tax purposes.</font><font style="font-family:Arial;font-size:10pt;">&#32;</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Manatee Works, Inc.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On August 21, 2015, the Company acquired selected assets of Manatee Works, Inc. (Manatee), a privately-held U.S.-based developer of barcode scanning software development kits (SDKs).  The Company plans to leverage Manatee's current developer network and business model of attracting new developers to drive leads for its ID products.  Under this transaction, the Company also acquired technology for use in mobile devices. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">68</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total purchase price of </font><font style="font-family:Arial;font-size:10pt;">$4,813,000</font><font style="font-family:Arial;font-size:10pt;">&#32;included </font><font style="font-family:Arial;font-size:10pt;">$1,023,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in cash paid upon closing and contingent consideration valued at </font><font style="font-family:Arial;font-size:10pt;">$3,790,000</font><font style="font-family:Arial;font-size:10pt;">&#32;on the acquisition date.  The undiscounted potential outcomes related to future contingent consideration ranges from </font><font style="font-family:Arial;font-size:10pt;">$0</font><font style="font-family:Arial;font-size:10pt;">&#32;to approximately </font><font style="font-family:Arial;font-size:10pt;">$1,700,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in 2017 and </font><font style="font-family:Arial;font-size:10pt;">$0</font><font style="font-family:Arial;font-size:10pt;">&#32;to approximately </font><font style="font-family:Arial;font-size:10pt;">$2,200,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in 2018 based upon reaching certain milestone revenue levels. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The contingent consideration is remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.  In 2015, the Company recorded a </font><font style="font-family:Arial;font-size:10pt;">$790,000</font><font style="font-family:Arial;font-size:10pt;">&#32;benefit in other income which reduced the liability amount to </font><font style="font-family:Arial;font-size:10pt;">$3,000,000</font><font style="font-family:Arial;font-size:10pt;">.  In 2016, the Company paid </font><font style="font-family:Arial;font-size:10pt;">$337,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and recorded a </font><font style="font-family:Arial;font-size:10pt;">$463,000</font><font style="font-family:Arial;font-size:10pt;">&#32;benefit in other income reducing the liability to </font><font style="font-family:Arial;font-size:10pt;">$2,200,000</font><font style="font-family:Arial;font-size:10pt;">.  As of December 31, 2016, the current portion of the contingent consideration expected to be paid within the next year was </font><font style="font-family:Arial;font-size:10pt;">$800,000</font><font style="font-family:Arial;font-size:10pt;">, and was recorded in &#8220;Accrued expenses,&#8221; and the non-current portion expected to be paid beyond one year was </font><font style="font-family:Arial;font-size:10pt;">$1,400,000</font><font style="font-family:Arial;font-size:10pt;">, and was recorded in &#8220;Other non-current liabilities&#8221; on the Consolidated Balance Sheets. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:85%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">140</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">590</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,060</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,813</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance Sheets.  The customer relationships are being amortized to selling, general, and administrative expenses, and the completed technologies are being amortized to cost of revenue, both on a straight-line basis over </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;">&#32;years.  A portion of the acquired goodwill is deductible for tax purposes. </font></div><div><a name="sC77C3CD325E2577DE45177D723D6D845"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 21:  Subsequent Events</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On February 15, 2017, the Company's Board of Directors declared a cash dividend of </font><font style="font-family:Arial;font-size:10pt;">$0.075</font><font style="font-family:Arial;font-size:10pt;">&#32;per share.  The dividend is payable </font><font style="font-family:Arial;font-size:10pt;">March 17, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;to all shareholders of record as of the close of business on </font><font style="font-family:Arial;font-size:10pt;">March 3, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">69</font></div></div><hr style="page-break-after:always"><div><a name="s0808B5C07419F9C2095877D73841D6E3"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION - SELECTED QUARTERLY FINANCIAL DATA (UNAUDITED)</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:97.0703125%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"></td></tr><tr><td style="width:53%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Quarter Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:7pt;"><font style="font-family:Arial;font-size:7pt;font-weight:bold;">April 3,                        2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:7pt;"><font style="font-family:Arial;font-size:7pt;font-weight:bold;">July 3,                                 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:7pt;"><font style="font-family:Arial;font-size:7pt;font-weight:bold;">October 2,                           2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:7pt;"><font style="font-family:Arial;font-size:7pt;font-weight:bold;">December&#160;31,<br>2016</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands, except per share amounts)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">96,205</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">147,274</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">147,952</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">129,322</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Gross margin</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">75,237</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">112,061</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">115,203</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">102,662</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Operating income</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">16,344</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">49,675</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">54,528</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">40,237</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net income from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">14,885</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">43,014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">53,675</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">38,253</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net income (loss) from discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(255</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net income</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">14,885</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">42,759</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">53,675</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">38,253</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Basic net income per share from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.51</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.63</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.45</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Basic net income (loss) per share from discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(0.01</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Basic net income per share</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.18</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.50</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.63</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.45</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Diluted net income per share from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.17</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.50</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.61</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.43</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Diluted net income (loss) per share from discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(0.01</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Diluted net income per share</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.17</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.49</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.61</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.43</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:97.0703125%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"></td></tr><tr><td style="width:53%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="15" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Quarter Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:7pt;"><font style="font-family:Arial;font-size:7pt;font-weight:bold;">April 5,                        2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:7pt;"><font style="font-family:Arial;font-size:7pt;font-weight:bold;">July 5,                                 2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:7pt;"><font style="font-family:Arial;font-size:7pt;font-weight:bold;">October 4,                           2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:7pt;"><font style="font-family:Arial;font-size:7pt;font-weight:bold;">December&#160;31,<br>2015</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands, except per share amounts)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">101,373</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">143,829</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">107,587</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">97,768</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Gross margin</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">79,029</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">113,321</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">81,268</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">74,368</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Operating income</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">22,110</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">51,778</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">28,485</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">19,148</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net income from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">19,472</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">43,516</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">25,822</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">18,854</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net income (loss) from discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">1,030</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">198</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">78,290</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(108</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Net income</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">20,502</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">43,714</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">104,112</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">18,746</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Basic net income per share from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.22</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.50</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.30</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.22</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Basic net income (loss) per share from discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.02</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.91</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Basic net income per share</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.24</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.50</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">1.21</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.22</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Diluted net income per share from continuing operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.22</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.49</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.29</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.22</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Diluted net income (loss) per share from discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.01</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.90</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Diluted net income per share</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.23</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.49</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">1.19</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">0.22</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">70</font></div></div><hr style="page-break-after:always"><div><a name="s7CF15D4EDB46BF240D2577D738657626"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">To the Board of Directors and Shareholders of Cognex Corporation:</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We have audited in accordance with the standards of the Public Company Accounting Oversight Board (United States) the consolidated financial statements of Cognex Corporation and subsidiaries (the &#8220;Company&#8221;) referred to in our report dated </font><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font><font style="font-family:Arial;font-size:10pt;">, which is included in the </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;Annual Report on Form 10-K of Cognex Corporation.  Our audits of the basic consolidated financial statements included the financial statement schedule listed in the index appearing under Item 15(2) of this Form 10-K, which is the responsibility of the Company&#8217;s management. In our opinion, this financial statement schedule, when considered in relation to the basic consolidated financial statements taken as a whole, presents fairly, in all material respects, the information set forth therein. </font></div><div style="line-height:120%;padding-top:18px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ GRANT THORNTON LLP</font></div><div style="line-height:120%;padding-top:18px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Boston, Massachusetts</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">71</font></div></div><hr style="page-break-after:always"><div><a name="sD450087C13BA796BEA0877D723D8D647"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION &#8211; SCHEDULE II &#8211; VALUATION AND QUALIFYING ACCOUNTS</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="25"></td></tr><tr><td style="width:28%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:4%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:4%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Additions</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Description</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Balance&#160;at</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Beginning</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">of Period</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Charged&#160;to</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Costs and</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Charged</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">to Other</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Accounts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Deductions</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Other</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Balance&#160;at</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">End of</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Period</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="23" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reserve&#160;for&#160;Uncollectible Accounts Receivable:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">736</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">216</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(64</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(15</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">873</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">820</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(44</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(40</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">736</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">909</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(57</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">820</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reserve&#160;for Excess and Obsolete&#160;Inventory:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,803</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,641</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4,075</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(52</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(c)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,317</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,058</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,562</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,443</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(374</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(c)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,803</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,301</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,204</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,978</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(469</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(c)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,058</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred Tax Valuation Allowance:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,259</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">857</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,116</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,483</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">817</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,259</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,758</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">725</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,483</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><table cellpadding="0" cellspacing="0" style="padding-top:12px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:48px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:0px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Specific write-offs</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:48px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:0px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Collections of previously written-off accounts and foreign currency exchange rate changes</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:48px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:0px;"><font style="font-family:Arial;font-size:10pt;">(c)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</font></div></td></tr></table><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">72</font></div></div><hr style="page-break-after:always"><div><a name="s0EF9697A7F20DB06AEAA77D738B9B320"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;9:  CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">There were no disagreements with accountants on accounting or financial disclosure during </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">&#32;or </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><a name="s8EEAD57345769E3765CC77D738E9850B"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 9A:  CONTROLS AND PROCEDURES</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Disclosure Controls and Procedures</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As required by Rules 13a-15 and 15d-15 of the Securities Exchange Act of 1934, the Company has evaluated, with the participation of management, including the Chief Executive Officer and the Chief Financial Officer, the effectiveness of its disclosure controls and procedures (as defined in such rules) as of the end of the period covered by this report. Based on such evaluation, the Chief Executive Officer and Chief Financial Officer concluded that such disclosure controls and procedures were effective as of that date.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Management&#8217;s Report on Internal Control over Financial Reporting</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management is responsible for establishing and maintaining adequate internal control over financial reporting. Management has evaluated the effectiveness of the Company&#8217;s internal control over financial reporting based upon the framework in Internal Control &#8211; Integrated Framework issued in 2013 by the Committee of Sponsoring Organizations of the Treadway Commission (COSO).</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Based upon our evaluation, management has concluded that the Company&#8217;s internal control over financial reporting was effective as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Attestation Report of the Registered Public Accounting Firm on Internal Control over Financial Reporting</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s internal control over financial reporting as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;has been audited by Grant Thornton LLP, an independent registered public accounting firm, as stated in their report which is included herein.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Changes in Internal Control over Financial Reporting</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">There have been no changes in the Company&#8217;s internal control over financial reporting that occurred during the fourth quarter of the year ended </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;that have materially affected, or are reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.  The Company continues to review its disclosure controls and procedures, including its internal control over financial reporting, and may from time to time make changes aimed at enhancing their effectiveness and to ensure that the Company&#8217;s systems evolve with its business.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">73</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">To the Board of Directors and Shareholders of Cognex Corporation:</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We have audited the internal control over financial reporting of Cognex Corporation (a Massachusetts corporation) and subsidiaries (the &#8220;Company&#8221;) as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, based on criteria established in the 2013 </font><font style="font-family:Arial;font-size:10pt;font-style:italic;">Internal Control&#8212;Integrated Framework</font><font style="font-family:Arial;font-size:10pt;">&#32;issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). The Company&#8217;s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying management&#8217;s report on internal control over financial reporting. Our responsibility is to express an opinion on the Company&#8217;s internal control over financial reporting based on our audit.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We conducted our audit in accordance with the standards of the Public Company Accounting Oversight Board (United States). Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, testing and evaluating the design and operating effectiveness of internal control based on the assessed risk, and performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A company&#8217;s internal control over financial reporting is a process designed 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. A company&#8217;s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company&#8217;s assets that could have a material effect on the financial statements.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, based on criteria established in the 2013 </font><font style="font-family:Arial;font-size:10pt;font-style:italic;">Internal Control&#8212;Integrated Framework</font><font style="font-family:Arial;font-size:10pt;">&#32;issued by COSO.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We also have audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States), the consolidated financial statements of the Company as of and for the year ended December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, and our report dated February&#160;16, 2017 expressed an unqualified opinion on those financial statements.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ GRANT THORNTON LLP</font></div><div style="line-height:120%;padding-top:18px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Boston, Massachusetts</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">74</font></div></div><hr style="page-break-after:always"><div><a name="s8681B0D95C8B2BEDE96577D7390C045C"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 9B:  OTHER INFORMATION</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">None</font></div><div><a name="sAF4E16E0298FF5E9AC4B77D7393B7513"></a></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART III</font></div><div><a name="s9AC5302643315ED0A1F177D728562E59"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;10:&#160;&#160;DIRECTORS, EXECUTIVE OFFICERS, AND CORPORATE GOVERNANCE</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information with respect to Directors and Executive Officers of the Company and the other matters required by Item&#160;10 shall be included in the Company&#8217;s definitive Proxy Statement for the Annual Meeting of Shareholders to be held on </font><font style="font-family:Arial;font-size:10pt;">April&#160;27, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;and is incorporated herein by reference.  In addition, certain information with respect to Executive Officers of the Company may be found in the section captioned &#8220;Executive Officers of the Registrant,&#8221; appearing in Part I &#8211; Item&#160;4A of this Annual Report on Form 10-K.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has adopted a Code of Business Conduct and Ethics covering all employees, which is available, free of charge, on the Company&#8217;s website, </font><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">www.cognex.com</font><font style="font-family:inherit;font-size:10pt;">&#32;</font><font style="font-family:Arial;font-size:10pt;">under "Company-Investor Information-Governance".  The Company intends to disclose on its website any amendments to or waivers of the Code of Business Conduct and Ethics on behalf of the Company&#8217;s directors and executive officers that would otherwise be required to be disclosed under the rules of the SEC or The NASDAQ Stock Market LLC.</font></div><div><a name="s1B9D322ADBE4C6A21CA177D7398E1CD9"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;11:&#160;&#160;EXECUTIVE COMPENSATION</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information with respect to executive compensation and the other matters required by Item&#160;11 shall be included in the Company&#8217;s definitive Proxy Statement for the Annual Meeting of Shareholders to be held on </font><font style="font-family:Arial;font-size:10pt;">April&#160;27, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;and is incorporated herein by reference.</font></div><div><a name="sF94011318C6FC609906577D723F07055"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;12:&#160;&#160;SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information with respect to security ownership and the other matters required by Item&#160;12 shall be included in the Company&#8217;s definitive Proxy Statement for the Annual Meeting of Shareholders to be held on </font><font style="font-family:Arial;font-size:10pt;">April&#160;27, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;and is incorporated herein by reference.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table provides information as of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;regarding shares of common stock that may be issued under the Company&#8217;s existing equity compensation plans:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11"></td></tr><tr><td style="width:29%;"></td><td style="width:19%;"></td><td style="width:1%;"></td><td style="width:3%;"></td><td style="width:1%;"></td><td style="width:20%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:21%;"></td><td style="width:1%;"></td><td style="width:3%;"></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Plan Category</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Number&#160;of&#160;securities&#160;to&#160;be</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">issued upon exercise of</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">outstanding&#160;options,</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">warrants,&#160;and rights</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Weighted-average&#160;exercise</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">price&#160;of&#160;outstanding&#160;options,</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">warrants,&#160;and&#160; rights</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Number&#160;of&#160;securities</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">remaining&#160;available&#160;for&#160;future</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">issuance under equity</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">compensation plans</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(excluding&#160;securities&#160;reflected</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">in column (a))</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(a)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Equity compensation plans approved by shareholders</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">5,973,304</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">33.5945</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">8,078,751</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(2)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Equity compensation plans not approved by shareholders</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">478,977</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(3)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">14.3333</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">6,452,281</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">32.1646</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">8,078,751</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><table cellpadding="0" cellspacing="0" style="padding-top:12px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:48px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:8pt;padding-left:12px;"><font style="font-family:Arial;font-size:8pt;">(1)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Includes shares to be issued upon exercise of outstanding options under the Company&#8217;s 1998 Stock Incentive Plan, 2007 Stock Option and Incentive Plan, and subsequent to shareholder approval, the 2001 General Stock Option Plan, as amended and restated.</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:48px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:8pt;padding-left:12px;"><font style="font-family:Arial;font-size:8pt;">(2)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Includes shares remaining available for future issuance under the Company&#8217;s 2007 Stock Option and Incentive Plan and 2001 General Stock Option Plan, as amended and restated.</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:48px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:8pt;padding-left:12px;"><font style="font-family:Arial;font-size:8pt;">(3)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Includes shares to be issued upon the exercise of outstanding options granted prior to shareholder approval under the 2001 General Stock Option Plan, as amended and restated.</font></div></td></tr></table><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The 2001 General Stock Option Plan was originally adopted by the Board of Directors in December 2001 without shareholder approval.  In December 2011, this plan received shareholder approval for an amendment and restatement of the plan, extending the plan until September 2021.  This plan provides for the granting of nonqualified stock options and incentive stock options to any employee who is actively employed by the Company and is not an officer or director of the Company.  The maximum number of shares of common stock available for grant under this plan is 14,220,000 shares.  All option grants must have an exercise price per share that is no less than the fair market value per share of the Company&#8217;s common stock on the grant date and must have a term that is no longer than ten years from the grant date.  10,576,270 stock options have been granted under the 2001 General Stock Option Plan.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">75</font></div></div><hr style="page-break-after:always"><div><a name="s0F76A5A116B6200E1FC177D739E38CEE"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;13:&#160;&#160;CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information with respect to certain relationships and related transactions and the other matters required by Item&#160;13 shall be included in the Company&#8217;s definitive Proxy Statement for the Annual Meeting of Shareholders to be held on </font><font style="font-family:Arial;font-size:10pt;">April&#160;27, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;and is incorporated herein by reference.</font></div><div><a name="sF15A77BF87E2CED26FA677D73A053345"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;14:&#160;&#160;PRINCIPAL ACCOUNTING FEES AND SERVICES</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information with respect to principal accounting fees and services and the other matters required by Item&#160;14 shall be included in the Company&#8217;s definitive Proxy Statement for the Annual Meeting of Shareholders to be held on </font><font style="font-family:Arial;font-size:10pt;">April&#160;27, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;and is incorporated herein by reference.</font></div><div><a name="sA91807A6438D4A66334477D73A36D6B9"></a></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART IV</font></div><div><a name="sE1A53651F2177EF5310977D73A5A9A92"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;15:&#160;&#160;EXHIBITS AND FINANCIAL STATEMENT SCHEDULES</font></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:72px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:0px;"><font style="font-family:Arial;font-size:10pt;">(1)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Financial Statements</font></div></td></tr></table><div style="line-height:120%;padding-top:6px;padding-left:120px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The financial statements are included in Part II &#8211; Item&#160;8 of this Annual Report on Form 10-K.</font></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:72px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:0px;"><font style="font-family:Arial;font-size:10pt;">(2)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Financial Statement Schedule</font></div></td></tr></table><div style="line-height:120%;padding-top:6px;padding-left:120px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Financial Statement Schedule II is included in Part II &#8211; Item&#160;8 of this Annual Report on Form 10-K.</font></div><div style="line-height:120%;padding-top:6px;padding-left:120px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other schedules are omitted because of the absence of conditions under which they are required or because the required information is provided in the consolidated financial statements or notes thereto.</font></div><table cellpadding="0" cellspacing="0" style="padding-top:6px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:72px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:0px;"><font style="font-family:Arial;font-size:10pt;">(3)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exhibits</font></div></td></tr></table><div style="line-height:120%;padding-top:6px;padding-left:120px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Exhibits filed as part of this Annual Report on Form 10-K are listed in the Exhibit Index, immediately preceding such Exhibits.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">76</font></div></div><hr style="page-break-after:always"><div><a name="sE488BBB79B6D4227704577D73A88F779"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">SIGNATURES</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Pursuant to the requirements of Section&#160;13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:682px;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:56px;"></td><td style="width:5px;"></td><td style="width:621px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">COGNEX CORPORATION</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">/s/&#160;&#160;&#160;&#160;Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:33%;"></td><td style="width:1%;"></td><td style="width:47%;"></td><td style="width:1%;"></td><td style="width:18%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Signature</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Title</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Date</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;Robert J. Shillman</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Chairman of the Board of Directors and Chief Culture Officer</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Shillman</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;Robert J. Willett</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President, Chief Executive Officer, and Director (principal executive officer)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;Richard A. Morin</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Executive Vice President of Finance and Administration and Chief Financial Officer</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(principal financial&#160;and&#160;accounting&#160;officer)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Richard A. Morin</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;Patrick Alias</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Director</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Patrick Alias</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;Eugene Banucci</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Director</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February 16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Eugene Banucci</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;Theodor Krantz</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Director</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Theodor Krantz</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;Jeffrey Miller</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Director</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Jeffrey Miller</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;J. Bruce Robinson</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Director</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">J. Bruce Robinson</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;Jerry Schneider</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Director</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Jerry Schneider</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/&#160;&#160;&#160;&#160;Anthony Sun</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Director</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Anthony Sun</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">77</font></div></div><hr style="page-break-after:always"><div><a name="sCC031B64335DFB5518D077D7263554D0"></a></div><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">EXHIBIT INDEX</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:84%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">EXHIBIT&#160;NUMBER</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3A</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Restated Articles of Organization of Cognex Corporation effective June&#160;27, 1989, as amended through May 5, 2016, (incorporated by reference to Exhibit 3.1 of Cognex's Quarterly Report on Form 10-Q for the quarter ended July 3, 2016 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3B</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Articles of Amendment to the Articles of Organization of Cognex Corporation establishing Series E Junior Participating Preferred Stock (incorporated by reference to Exhibit 3.2 to Cognex's Quarterly Report on Form 10-Q for the quarter ended July 3, 2016 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3C</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By-laws of Cognex Corporation, as amended and restated through December 5, 2013 (incorporated by reference to Exhibit 3.3 of Cognex&#8217;s Quarterly Report on Form 10-Q for the quarter-ended July 3, 2016 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3D</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amendment to Amended and Restated By-laws of Cognex Corporation, effective May 5, 2016 (incorporated by reference to Exhibit 3.4 of Cognex's Quarterly Report on Form 10-Q for the quarter ended July 3, 2016 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4A</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Specimen Certificate for Shares of Common Stock (incorporated by reference to Exhibit 4 to the Registration Statement on Form S-1 [Registration No. 33-29020])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4B</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Shareholder Rights Agreement, dated December 4, 2008, between Cognex Corporation and National City Bank (incorporated by reference to Exhibit 4.1 to Cognex's Registration Statement on Form 8-A filed on December 5, 2008 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10A *</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation 1998 Non-Employee Director Stock Option Plan (incorporated by reference to Exhibit 4.1 to the Registration Statement on Form S-8 [Registration No. 333-60807])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10B *</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amendment to Cognex Corporation 1998 Non-Employee Director Stock Option Plan, effective as of July 26, 2007 (incorporated by reference to Exhibit 10C of Cognex's Annual Report on Form 10-K for the year ended December 31, 2012 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10C *</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation 1998 Stock Incentive Plan (incorporated by reference to Exhibit 4.2 to the Registration Statement on Form S-8 [Registration No. 333-60807])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10D *</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">First Amendment to the Cognex Corporation 1998 Stock Incentive Plan (incorporated by reference to Exhibit 4.3 to the Registration Statement on Form S-8 [Registration No. 333-60807])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10E *</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Second Amendment to the Cognex Corporation 1998 Stock Incentive Plan (incorporated by reference to Exhibit 10F of Cognex&#8217;s Annual Report on Form 10-K for the year ended December 31, 2011 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10F *</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amendment to Cognex Corporation 1998 Stock Incentive Plan, effective as of July 26, 2007 (incorporated by reference to Exhibit 10G of Cognex's Annual Report on Form 10-K for the year ended December 31, 2012 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10G *</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation 2001 General Stock Option Plan, as amended and restated (incorporated by reference to Exhibit 10H of Cognex's Annual Report on Form 10-K for the year ended December 31, 2014 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10H *</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation 2007 Stock Option and Incentive Plan, as amended and restated (incorporated by reference to Exhibit 10.1 of Cognex's Quarterly Report on Form 10-Q for the quarter ended July 5, 2015 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10I *</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Form of Letter Agreement between Cognex Corporation and each of Robert J. Shillman, Patrick A. Alias and Anthony Sun (incorporated by reference to Exhibit 10K of Cognex's Annual Report on Form 10-K for the year ended December 31, 2012 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10J *</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Form of Stock Option Agreement (Non-Qualified) under 1998 Stock Incentive Plan (incorporated by reference to Exhibit 10L of Cognex's Annual Report on Form 10-K for the year ended December 31, 2012 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10K *</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Form of Indemnification Agreement with each of the Directors of Cognex Corporation (incorporated by reference to Exhibit 10R of Cognex's Annual Report on Form 10-K for the year ended December 31, 2013 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10L *</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Employment Agreement, dated June 17, 2008, by and between Cognex Corporation and Robert Willett (incorporated by reference to Exhibit 10S of Cognex's Annual Report on Form 10-K for the year ended December 31, 2013 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10M *</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amendment to Employment Agreement with Robert Willett, dated November 14, 2008 (incorporated by reference to Exhibit 10T of Cognex's Annual Report on Form 10-K for the year ended December 31, 2013 [File No. 1-34218])</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">78</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><a style="font-family:inherit;font-size:9pt;" href="#sDDDE2591A149CC42942677D72E80112D"><font style="font-family:inherit;font-size:9pt;">Table of Contents</font></a></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:84%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10N *</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Form of Stock Option Agreement (Non-Qualified) under 2007 Stock Option and Incentive Plan (incorporated by reference to Exhibit 10U of Cognex's Annual Report on Form 10-K for the year ended December 31, 2013 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10O *</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Letter from the Company to Richard A. Morin regarding Stock Option Agreements (incorporated by reference to Exhibit 10V of Cognex's Annual Report on Form 10-K for the year ended December 31, 2013  [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10P *</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock Option Agreements with Robert Willett dated November 3, 2014 (incorporated by reference to Exhibit 10S of Cognex's Annual Report on Form 10-K for the year ended December 31, 2014 [File No. 1-34218])</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Code of Business Conduct and Ethics as amended March 12, 2004 (incorporated by reference to Exhibit 14 of Cognex's Annual Report on Form 10-K for the year ended December 31, 2009 [File No. 001-34218])</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Subsidiaries of the registrant (filed herewith)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23.1</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Consent of Grant Thornton LLP (filed herewith)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31.1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certification of Chief Executive Officer (filed herewith)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31.2</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certification of Chief Financial Officer (filed herewith)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32.1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certification pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 (CEO) (furnished herewith)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32.2</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certification pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 (CFO) (furnished herewith)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">101</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">xBRL (Extensible Business Reporting Language)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following materials from Cognex Corporation's Annual Report on Form 10-K for the period ended December&#160;31, 2016, formatted in xBRL: (i)&#160;Consolidated Statements of Operations for the years ended December&#160;31, 2016,&#160;December&#160;31, 2015, and December&#160;31, 2014; (ii)&#160;Consolidated Statements of Comprehensive Income for the years ended December&#160;31, 2016,&#160;December&#160;31, 2015, and December&#160;31, 2014; (iii)&#160;Consolidated Balance Sheets as of December&#160;31, 2016 and December&#160;31, 2015; (iv)&#160;Consolidated Statements of Cash Flows for the years ended December&#160;31, 2016,&#160;December&#160;31, 2015, and December&#160;31, 2014; (v)&#160;Consolidated Statements of Shareholders&#8217; Equity for the years ended December&#160;31, 2016,&#160;December&#160;31, 2015, and December&#160;31, 2014; and (vi)&#160;Notes to Consolidated Financial Statements.<br>*&#160;&#160;&#160;&#160;Indicates management contract or compensatory plan or arrangement<br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">79</font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21
<SEQUENCE>2
<FILENAME>cgnx-20161231xexhibit211.htm
<DESCRIPTION>EXHIBIT 21
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2017 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="sFCE64BBA3E7C4B1DBA5E77D74BCA619D"></a></div><div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">EXHIBIT 21</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">SUBSIDIARIES OF THE REGISTRANT</font></div><div style="line-height:120%;padding-bottom:5px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December 31, 2016, the registrant had the following subsidiaries, the financial statements of which are all included in the consolidated financial statements of the registrant:</font></div><div style="line-height:120%;padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-left:5px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.14529914529915%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:46%;"></td><td style="width:36%;"></td><td style="width:18%;"></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:54px;"><div style="padding-bottom:5px;text-align:center;padding-left:42px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NAME OF SUBSIDIARY</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:20px;"><div style="padding-bottom:5px;text-align:center;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">STATE/COUNTRY OF INCORPORATION</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:6px;"><div style="padding-bottom:5px;text-align:center;padding-left:5px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PERCENT OWNERSHIP</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Asia, Inc.                                (formerly Cognex China, Inc.)</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Delaware</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:9px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Canada, Inc.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Delaware</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Canada Technology, Inc.</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">California</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Europe, B.V.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Netherlands</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Europe, Inc.</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Delaware</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Foreign Sales Corporation</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Barbados</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Germany, Inc.</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Massachusetts</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Germany Aachen GmbH</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Germany</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Goruntu Sistemleri Satis ve Ticaret Limited Sirketi</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Turkey</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Hungary Kft.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungary</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex International, Inc.</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Delaware</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Ireland Ltd.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Ireland</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex K.K.</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japan</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Korea, Inc.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Delaware</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex, Ltd.</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Ireland</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Representacao Comercial E Participacoes Ltda.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Brazil</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Sensors India Private Limited</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">India</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Service, Inc</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Delaware</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Service Ltd.</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Ireland</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Singapore, Inc.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Delaware</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Switzerland GmbH</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Switzerland</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Taiwan, Inc.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Delaware</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;text-indent:-12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Technology and Investment LLC</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">California</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex UK Ltd.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">United Kingdom</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Vision Inspection System (Shanghai) Co., Ltd.</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">China</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Vision Spain, S.L.U.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Spain</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">EnShape GmbH</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Germany</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vision Drive, Inc.</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Delaware</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">One Vision Drive LLC                              (formerly Vision Drive Retail LLC)</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:2px;"><div style="padding-bottom:5px;text-align:left;padding-left:24px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Massachusetts</font></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:5px;padding-right:12px;"><div style="padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100%</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div><br></div><div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>cgnx-20161231xexhibit2311.htm
<DESCRIPTION>EXHIBIT 23.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2017 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s3BC3095A4E1839AA73B277D74C74157F"></a></div><div><div style="line-height:138%;padding-bottom:13px;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:138%;padding-bottom:13px;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">EXHIBIT 23.1</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:138%;padding-bottom:2px;text-align:justify;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:138%;padding-bottom:13px;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-bottom:5px;text-align:center;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-bottom:5px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</font></div><div style="line-height:120%;padding-bottom:5px;text-align:justify;padding-left:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">We have issued our reports dated February 16, 2017, with respect to the consolidated financial statements,  schedule, and internal control over financial reporting included in the Annual Report of Cognex Corporation on Form 10-K for the year ended December 31, 2016. We hereby consent to the incorporation by reference of said reports in the Registration Statements of Cognex Corporation on Forms S-8 (File Nos. 333-02151; 333-60807; 333-96961; 333-100709; 333-126787; 333-150315 and 333-206081). </font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-bottom:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ GRANT THORNTON LLP</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Boston, Massachusetts</font></div><div style="line-height:120%;padding-bottom:5px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February 16, 2017</font></div><div style="line-height:120%;text-align:left;padding-left:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div><br></div><div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>4
<FILENAME>cgnx-20161231xexhibit3111.htm
<DESCRIPTION>EXHIBIT 31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2017 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s4441A2181AC4D35D63EA77D74D1818B2"></a></div><div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">EXHIBIT 31.1</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">CERTIFICATION</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">I, Robert J. Willett, certify that:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:4%;"></td><td style="width:4%;"></td><td style="width:4%;"></td><td style="width:88%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">I have reviewed this Annual Report on Form 10-K of Cognex Corporation;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2</font></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The registrant&#8217;s other certifying officer(s) 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:</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(c)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(d)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:97.6608187134503%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:5%;"></td><td style="width:31%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:12%;"></td><td style="width:5%;"></td><td style="width:1%;"></td><td style="width:40%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>5
<FILENAME>cgnx-20161231xexhibit3121.htm
<DESCRIPTION>EXHIBIT 31.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2017 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s27680C06E94C9AD87CD377D74DBF0E6A"></a></div><div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">EXHIBIT 31.2</font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">CERTIFICATION</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">I, Richard A. Morin, certify that:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:4%;"></td><td style="width:4%;"></td><td style="width:4%;"></td><td style="width:88%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">I have reviewed this Annual Report on Form 10-K of Cognex Corporation;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2</font></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The registrant&#8217;s other certifying officer(s) 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:</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(c)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(d)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The registrant&#8217;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent functions):</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.22027290448344%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:6%;"></td><td style="width:30%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:12%;"></td><td style="width:4%;"></td><td style="width:1%;"></td><td style="width:41%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Richard A. Morin</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Richard A. Morin</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Executive Vice President of Finance and Administration and Chief Financial Officer</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>6
<FILENAME>cgnx-20161231xexhibit3211.htm
<DESCRIPTION>EXHIBIT 32.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2017 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s55EBE14E73B237CF818777D74E65AA77"></a></div><div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">EXHIBIT 32.1*</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">CERTIFICATION PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18 U.S.C. 1350,</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">AS ADOPTED PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The undersigned officer of Cognex Corporation (the &#8220;Company&#8221;) hereby certifies to his knowledge that the Company&#8217;s Annual Report on Form 10-K for the year ended </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;(the &#8220;Report&#8221;), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section&#160;13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:96.88109161793372%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:7%;"></td><td style="width:31%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:12%;"></td><td style="width:5%;"></td><td style="width:1%;"></td><td style="width:38%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer         (principal executive officer)</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:2%;"></td><td style="width:98%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">*</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">This certification shall not be deemed &#8220;filed&#8221; for purposes of Section&#160;18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>7
<FILENAME>cgnx-20161231xexhibit3221.htm
<DESCRIPTION>EXHIBIT 32.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<!-- Document created using Wdesk 1 -->
		<!-- Copyright 2017 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="sE5F414C65FC54CAF0D6C77D74F0C0E4C"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">EXHIBIT 32.2*</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">CERTIFICATION PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18 U.S.C. 1350,</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">AS ADOPTED PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The undersigned officer of Cognex Corporation (the &#8220;Company&#8221;) hereby certifies to his knowledge that the Company&#8217;s Annual Report on Form 10-K for the year ended </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">&#32;(the &#8220;Report&#8221;), as filed with the Securities and Exchange Commission on the date hereof, fully complies with the requirements of Section&#160;13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended, and that the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:6%;"></td><td style="width:30%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:12%;"></td><td style="width:4%;"></td><td style="width:1%;"></td><td style="width:41%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">February&#160;16, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Richard A. Morin</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Richard A. Morin</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Executive Vice President of Finance and Administration and Chief Financial Officer</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(principal financial officer)</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:2%;"></td><td style="width:98%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">*</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">This certification shall not be deemed &#8220;filed&#8221; for purposes of Section&#160;18 of the Securities Exchange Act of 1934, or otherwise subject to the liability of that section, nor shall it be deemed to be incorporated by reference into any filing under the Securities Act of 1933 or the Securities Exchange Act of 1934.</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.INS
<SEQUENCE>8
<FILENAME>cgnx-20161231.xml
<DESCRIPTION>XBRL INSTANCE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!--p:bad1d4c875e0455694acd363cf33ce1c,x:7f26a03870a749f998a9de72e0fba533-->
<xbrli:xbrl xmlns:cgnx="http://cognex.com/20161231" xmlns:country="http://xbrl.sec.gov/country/2016-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2016-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2014-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2016-01-31" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2011-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2011-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2016-01-31" xmlns:us-roles="http://fasb.org/us-roles/2016-01-31" xmlns:us-types="http://fasb.org/us-types/2016-01-31" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<link:schemaRef xlink:href="cgnx-20161231.xsd" xlink:type="simple" />
	<xbrli:context id="FD2016Q4YTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2017Q1Jan29">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-01-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q2">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-07-03</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2013Q4">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2013-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2013Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2013-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2013Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2013-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2013Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2013-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2013Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2013-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_us-gaap_RangeAxis_us-gaap_MinimumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CompletedTechnologiesAndOtherIntangibleAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MinimumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember_us-gaap_RangeAxis_us-gaap_MaximumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MaximumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_us-gaap_RangeAxis_us-gaap_MaximumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CompletedTechnologiesAndOtherIntangibleAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MaximumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_RangeAxis_us-gaap_MaximumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MaximumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cgnx_ComputerHardwareAndSoftwareMember_us-gaap_RangeAxis_us-gaap_MaximumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cgnx:ComputerHardwareAndSoftwareMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MaximumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingImprovementsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_RangeAxis_us-gaap_MinimumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MinimumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cgnx_ComputerHardwareAndSoftwareMember_us-gaap_RangeAxis_us-gaap_MinimumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cgnx:ComputerHardwareAndSoftwareMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MinimumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember_us-gaap_RangeAxis_us-gaap_MinimumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CustomerContractsAndRelationshipsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MinimumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember_us-gaap_RangeAxis_us-gaap_MinimumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MinimumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember_us-gaap_RangeAxis_us-gaap_MaximumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CustomerContractsAndRelationshipsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MaximumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_us-gaap_RangeAxis_us-gaap_MinimumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MinimumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_us-gaap_RangeAxis_us-gaap_MaximumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MaximumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_us-gaap_RangeAxis_us-gaap_MaximumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MaximumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_us-gaap_RangeAxis_us-gaap_MinimumMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:RangeAxis">us-gaap:MinimumMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ChiaroTechnologiesLLCMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:EnShapeGmbHMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsNonrecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:EuroliquidityfundMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:EuroliquidityfundMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasuryBillSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasuryBillSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasuryBillSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:EuroliquidityfundMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cgnx_HardwareAndSoftwareMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cgnx:HardwareAndSoftwareMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingImprovementsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cgnx_HardwareAndSoftwareMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cgnx:HardwareAndSoftwareMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingImprovementsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingImprovementsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2010Q4SD_us-gaap_StatementBusinessSegmentsAxis_cgnx_MvsdMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cgnx:MvsdMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2010-10-04</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q3SISDSale_us-gaap_StatementBusinessSegmentsAxis_cgnx_SisdMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cgnx:SisdMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-07-06</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:WebscanInc.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:AQSenseS.L.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DistributionRightsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CustomerContractsAndRelationshipsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">cgnx:CustomerContractsAndRelationshipsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q3YTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-10-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q3QTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember_us-gaap_LitigationCaseAxis_cgnx_AMETEKMatterMember_us-gaap_LitigationStatusAxis_us-gaap_SettledLitigationMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_GuaranteeObligationsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cgnx:SisdMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:LitigationCaseAxis">cgnx:AMETEKMatterMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:SettledLitigationMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:LossContingenciesByNatureOfContingencyAxis">us-gaap:GuaranteeObligationsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-07-04</xbrli:startDate>
			<xbrli:endDate>2016-10-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueGoodsNetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueGoodsNetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueGoodsNetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">cgnx:AccruedExpensesMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:CAD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:HUF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:GBP</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_USD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:USD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:CAD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:GBP</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:HUF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:KRW</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:GBP</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:GBP</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:KRW</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:HUF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:HUF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_CurrencyAxis_currency_USD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:CurrencyAxis">currency:USD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramTwentyFifteenMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramTwentyFifteenMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgram2014Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgram2014Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q4SD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramNovember2015Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramNovember2015Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-11-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q2Apr28">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-04-28</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q2Apr27">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-04-27</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q2QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-04-04</xbrli:startDate>
			<xbrli:endDate>2016-07-03</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q3_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramTwentyFifteenMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramTwentyFifteenMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-08-03</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramTwentyFifteenMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramTwentyFifteenMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgram2014Member_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgram2014Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q2QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-04-06</xbrli:startDate>
			<xbrli:endDate>2015-07-05</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2008Q4Dec5">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2008-12-05</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-10-03</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-10-05</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q3QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-07-04</xbrli:startDate>
			<xbrli:endDate>2016-10-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q1QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-04-03</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q3QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-07-06</xbrli:startDate>
			<xbrli:endDate>2015-10-04</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_ProductCostOfRevenueMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:ProductCostOfRevenueMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_ProductCostOfRevenueMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:ProductCostOfRevenueMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_ProductCostOfRevenueMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:ProductCostOfRevenueMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">cgnx:SellingGeneralAndAdministrativeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q3SISDSale_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-07-06</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2015Q3_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-07-06</xbrli:startDate>
			<xbrli:endDate>2015-07-06</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_StateAdministrationOfTaxationChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:StateAdministrationOfTaxationChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementGeographicalAxis_us-gaap_NonUsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2015Q3_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cgnx:SisdMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-07-06</xbrli:startDate>
			<xbrli:endDate>2015-07-06</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_RevenueCommissionersIrelandMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:RevenueCommissionersIrelandMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201517Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201517Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">cgnx:AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_TaxCreditCarryforwardAxis_us-gaap_ResearchMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_TaxCreditCarryforwardAxis_cgnx_StateResearchAndExperimentationMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">cgnx:StateResearchAndExperimentationMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementGeographicalAxis_us-gaap_NonUsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">cgnx:AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q2YTD_us-gaap_StatementBusinessSegmentsAxis_cgnx_PreviousCompanySegmentsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">cgnx:PreviousCompanySegmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-07-03</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementGeographicalAxis_country_US">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:EuropeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:GreaterChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:GreaterChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:OtherGeographicAreaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:OtherGeographicAreaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:OtherGeographicAreaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:OtherGeographicAreaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:OtherGeographicAreaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:EuropeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_StatementGeographicalAxis_country_US">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementGeographicalAxis_country_US">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:GreaterChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:EuropeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:EuropeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:EuropeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:OtherGeographicAreaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_StatementGeographicalAxis_country_US">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_StatementGeographicalAxis_country_US">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:GreaterChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">us-gaap:EuropeMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:GreaterChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">cgnx:GreaterChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_StatementGeographicalAxis_country_US">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cgnx:SisdMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q3SISDSale_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cgnx:SisdMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-07-06</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q3QTD_us-gaap_StatementOperatingActivitiesSegmentAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:StatementOperatingActivitiesSegmentAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-07-04</xbrli:startDate>
			<xbrli:endDate>2016-10-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cgnx:SisdMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">cgnx:SisdMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ChiaroTechnologiesLLCMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-11-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ChiaroTechnologiesLLCMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-11-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:WebscanInc.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-09</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:WebscanInc.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-09</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:WebscanInc.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-09</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:AQSenseS.L.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-08-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:AQSenseS.L.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-08-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:AQSenseS.L.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-08-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-08-21</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-08-21</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-08-21</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:EnShapeGmbHMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-10-27</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:WebscanInc.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-12-09</xbrli:startDate>
			<xbrli:endDate>2016-12-09</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2016Q4Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:EnShapeGmbHMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-10-27</xbrli:startDate>
			<xbrli:endDate>2016-10-27</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2016Q4Dec09_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-12-09</xbrli:startDate>
			<xbrli:endDate>2016-12-09</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:AQSenseS.L.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-08-30</xbrli:startDate>
			<xbrli:endDate>2016-08-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2017Q1Jan01-Jan31_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:WebscanInc.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-01-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2016Q3Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ChiaroTechnologiesLLCMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-11-30</xbrli:startDate>
			<xbrli:endDate>2016-11-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:WebscanInc.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-12-09</xbrli:startDate>
			<xbrli:endDate>2016-12-09</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_StatementScenarioAxis_us-gaap_ScenarioForecastMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">us-gaap:ScenarioForecastMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-08-21</xbrli:startDate>
			<xbrli:endDate>2015-08-21</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_StatementScenarioAxis_us-gaap_ScenarioForecastMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ManateeWorksInc.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:StatementScenarioAxis">us-gaap:ScenarioForecastMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ChiaroTechnologiesLLCMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-12-09</xbrli:startDate>
			<xbrli:endDate>2016-12-09</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2016Q3Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:EnShapeGmbHMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-11-30</xbrli:startDate>
			<xbrli:endDate>2016-11-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:EnShapeGmbHMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-10-27</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:EnShapeGmbHMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-10-27</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2017Q1_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-03-17</xbrli:startDate>
			<xbrli:endDate>2017-03-17</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2017Q1SD_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-03-03</xbrli:startDate>
			<xbrli:endDate>2017-03-03</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2017Q1_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-02-16</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:UncollectibleReceivablesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:UncollectibleReceivablesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:UncollectibleReceivablesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2014-01-01</xbrli:startDate>
			<xbrli:endDate>2014-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2016-01-01</xbrli:startDate>
			<xbrli:endDate>2016-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:UncollectibleReceivablesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2015-01-01</xbrli:startDate>
			<xbrli:endDate>2015-12-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2013Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:UncollectibleReceivablesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2013-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2013Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2013-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2014Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:UncollectibleReceivablesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2014-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2015Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:UncollectibleReceivablesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2013Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:InventoryValuationReserveMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2013-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:unit id="shares">
		<xbrli:measure>xbrli:shares</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="usdPerShare">
		<xbrli:divide>
			<xbrli:unitNumerator>
				<xbrli:measure>iso4217:USD</xbrli:measure>
			</xbrli:unitNumerator>
			<xbrli:unitDenominator>
				<xbrli:measure>xbrli:shares</xbrli:measure>
			</xbrli:unitDenominator>
		</xbrli:divide>
	</xbrli:unit>
	<xbrli:unit id="usd">
		<xbrli:measure>iso4217:USD</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="number">
		<xbrli:measure>xbrli:pure</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="huf">
		<xbrli:measure>iso4217:HUF</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="gbp">
		<xbrli:measure>iso4217:GBP</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="Segment">
		<xbrli:measure>cgnx:Segment</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="Employees">
		<xbrli:measure>cgnx:Employees</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="Right">
		<xbrli:measure>cgnx:Right</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="Vote">
		<xbrli:measure>cgnx:Vote</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="cad">
		<xbrli:measure>iso4217:CAD</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="acquisition">
		<xbrli:measure>cgnx:acquisition</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="sgd">
		<xbrli:measure>iso4217:SGD</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="iso4217_JPY">
		<xbrli:measure>iso4217:JPY</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="iso4217_KRW">
		<xbrli:measure>iso4217:KRW</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="twd">
		<xbrli:measure>iso4217:TWD</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="eur">
		<xbrli:measure>iso4217:EUR</xbrli:measure>
	</xbrli:unit>
	<cgnx:AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting contextRef="FD2014Q4YTD" decimals="-3" id="Fact-78F62F834839C02A2F721A27E539BC48" unitRef="usd">320000</cgnx:AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting>
	<cgnx:AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-CB185817EB7F2A42D13D1A27E535C65A" unitRef="usd">320000</cgnx:AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting>
	<cgnx:AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting contextRef="FD2015Q4YTD" decimals="-3" id="Fact-ED17280FA3103E085B621A27E533EB8A" unitRef="usd">474000</cgnx:AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting>
	<cgnx:AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-749AD52DACCB04AC72AC1A27E542B337" unitRef="usd">474000</cgnx:AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting>
	<cgnx:AgencyBondsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-5ED86C93E625B2550AB51A27E53AC0C2" unitRef="usd">0</cgnx:AgencyBondsFairValueDisclosure>
	<cgnx:AgencyBondsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-B1EE9BA06BA0D1AE9AAA1A27E53A03DC" unitRef="usd">13242000</cgnx:AgencyBondsFairValueDisclosure>
	<cgnx:AmortizationDiscontinuedOperations contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-4960DC600F4EC4CB83DB1A27E5425DD5" unitRef="usd">364000</cgnx:AmortizationDiscontinuedOperations>
	<cgnx:AmortizationDiscontinuedOperations contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-CA821AE839136E2C1E1A1A27E5436DC1" unitRef="usd">165000</cgnx:AmortizationDiscontinuedOperations>
	<cgnx:AmortizationDiscontinuedOperations contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-09E5083467A3927E86431A27E5438D05" unitRef="usd">0</cgnx:AmortizationDiscontinuedOperations>
	<cgnx:AssetBackedSecuritiesFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-5A244D681F13C9FF89D21A27E53A22EA" unitRef="usd">0</cgnx:AssetBackedSecuritiesFairValueDisclosure>
	<cgnx:AssetBackedSecuritiesFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-1C9F29F3510659AD32BE1A27E53AB022" unitRef="usd">96560000</cgnx:AssetBackedSecuritiesFairValueDisclosure>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2016Q4" decimals="-3" id="Fact-D937A2E8AD121A6B2B721A27E536F08C" unitRef="usd">5846000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-57F04B9564B70800E7F21A27E5312D4D" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-429214579F135D221F6F1A27E52BD968" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-DA192048EAE3B1E286D61A27E53617CB" unitRef="usd">87000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-D09BAC4DD75206EC3A3C1A27E53196AC" unitRef="usd">5759000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-652A648A54B96FACFF711A27E53E42A1" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-F1A99279D7535CFD71B61A27E53D7508" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-344A9D6D7DDA8EC060B61A27E532AB62" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2016Q4" decimals="-3" id="Fact-92065DD1CF856FEC016F1A27E53B5F35" unitRef="usd">213098000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-A5CEBEB0EF439AA6EA9B1A27E53780FC" unitRef="usd">7614000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-2F3D851581417691DEE41A27E5315550" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-2FF46F72A119B0BD306B1A27E52CD0F9" unitRef="usd">8957000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-14C8164351FFEAF294071A27E52E7C04" unitRef="usd">84007000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-EC8B3A83A130BE816CD51A27E52FD21B" unitRef="usd">1233000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-99732F88D2E9BCD0DA8D1A27E5394FAA" unitRef="usd">19007000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-88B07A2C19CA65A82EF41A27E53E252F" unitRef="usd">92280000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2016Q4" decimals="-3" id="Fact-DF77C4CB350AC40E79571A27E53D8403" unitRef="usd">12741000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-BEAF1A51ACCB0B8F8B421A27E53CD7DE" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-DF9D31CC6234F156068F1A27E534E878" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-147AFDDA7A17617785E71A27E530741F" unitRef="usd">10530000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-CD1014760C2A8C38341D1A27E52FB6A1" unitRef="usd">2211000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-6ADC9150EBD6AA55C6481A27E531AF02" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-9FF5B6C06FD543B4E26C1A27E5339728" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-6D7B91BA17D7EEFFD0291A27E536C3D7" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2016Q4" decimals="-3" id="Fact-FA188CFDF1468991463F1A27E5324E02" unitRef="usd">92650000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-38D3EEAE5C7D919BC0C51A27E53013F5" unitRef="usd">2725000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-FBE95316A594F299E5461A27E534748C" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-0C8BD7C9E63927349A4D1A27E5328B48" unitRef="usd">7372000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-BC498D6B007B6DB7D12B1A27E53BF243" unitRef="usd">77975000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-3B08D7DC63484535633D1A27E533E032" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-F5EA823DA8E3B69DE1FA1A27E541F097" unitRef="usd">4578000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-6CECB65B26C907EBABD01A27E531CE1C" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum contextRef="FD2016Q4YTD" id="Fact-6A92B5DB29DDAFC2405A1A27E5392281">P10Y</cgnx:AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum>
	<cgnx:BusinessCombinationConsiderationTransferredDeferredCashPayment contextRef="D2016Q4Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-3D1856FC6AC7AF69D4061B693E1E7957" unitRef="eur">1050000</cgnx:BusinessCombinationConsiderationTransferredDeferredCashPayment>
	<cgnx:BusinessCombinationConsiderationTransferredDeferredCashPayment contextRef="D2016Q4Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-752C1229BFD871D404771B693E2037D5" unitRef="usd">1144000</cgnx:BusinessCombinationConsiderationTransferredDeferredCashPayment>
	<cgnx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses contextRef="I2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member" decimals="-3" id="Fact-809D91165E17B5F294D91B8316156EE9" unitRef="usd">14000</cgnx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses>
	<cgnx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-1800F83579023D19DAE81B73E6EFFAC4" unitRef="usd">209000</cgnx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses>
	<cgnx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses contextRef="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-D8DFA026C5FAFEDCEDC91B591A7B2791" unitRef="usd">115000</cgnx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses>
	<cgnx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-09C6024AB66D12F7BD951B746D3617A7" unitRef="usd">2342000</cgnx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable>
	<cgnx:CashCashEquivalentsShortTermAndLongTermInvestments contextRef="FI2015Q4" decimals="-3" id="Fact-88F0073AE3EBE9575AB91A27E53E66C9" unitRef="usd">621531000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
	<cgnx:CashCashEquivalentsShortTermAndLongTermInvestments contextRef="FI2016Q4" decimals="-3" id="Fact-16EFF84CC384BCFD18691A27E53E9855" unitRef="usd">745170000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
	<cgnx:CommonSharesToBeOwnedToBecomeAcquiringPerson contextRef="FI2016Q4" decimals="INF" id="Fact-41C00DAEC2B6BA9F06111A27E533FF82" unitRef="number">0.15</cgnx:CommonSharesToBeOwnedToBecomeAcquiringPerson>
	<cgnx:CompanyContributionsVestAtEndOfFiveYears contextRef="FD2016Q4YTD" decimals="INF" id="Fact-FCAFC088B3E33762E14F1A27E5376C37" unitRef="number">1.00</cgnx:CompanyContributionsVestAtEndOfFiveYears>
	<cgnx:CompanyContributionsVestAtEndOfFourYears contextRef="FD2016Q4YTD" decimals="INF" id="Fact-44EE00161C99D83344F31A27E545F233" unitRef="number">0.6</cgnx:CompanyContributionsVestAtEndOfFourYears>
	<cgnx:CompanyContributionsVestAtEndOfThreeYears contextRef="FD2016Q4YTD" decimals="INF" id="Fact-A712B40A8E9FDE2649991A27E544D874" unitRef="number">0.4</cgnx:CompanyContributionsVestAtEndOfThreeYears>
	<cgnx:CompanyContributionsVestAtEndOfTwoYear contextRef="FD2016Q4YTD" decimals="INF" id="Fact-26E7DC3C17B3A89017C71A27E542EF83" unitRef="number">0.2</cgnx:CompanyContributionsVestAtEndOfTwoYear>
	<cgnx:ContributionMadeToPartnershipDuringPeriod contextRef="FD2016Q4YTD" decimals="INF" id="Fact-57DFCC3D8214309633B81E8B44C5B628" unitRef="usd">0</cgnx:ContributionMadeToPartnershipDuringPeriod>
	<cgnx:ContributionToLimitedPartnership contextRef="FI2016Q4" decimals="0" id="Fact-69AEC1AECFD575D9D0CE1A27E5323EA1" unitRef="usd">19886000</cgnx:ContributionToLimitedPartnership>
	<cgnx:CorporateBondsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-CAB348BCA7794CE5500E1A27E53A5391" unitRef="usd">0</cgnx:CorporateBondsFairValueDisclosure>
	<cgnx:CorporateBondsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-1D0E62FB37CE8F76F2611A27E53BC2E8" unitRef="usd">311140000</cgnx:CorporateBondsFairValueDisclosure>
	<cgnx:DeferredTaxAssetsOtherNoncurrent contextRef="FI2015Q4" decimals="-3" id="Fact-9A4CC8E053A5BFF8CD751A27E5438033" unitRef="usd">4175000</cgnx:DeferredTaxAssetsOtherNoncurrent>
	<cgnx:DeferredTaxAssetsOtherNoncurrent contextRef="FI2016Q4" decimals="-3" id="Fact-73075D0AA5F3AD0AD3941A27E52C07A1" unitRef="usd">3714000</cgnx:DeferredTaxAssetsOtherNoncurrent>
	<cgnx:DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState contextRef="FI2015Q4" decimals="-3" id="Fact-26FC4266B22CFAAB5D891A27E52E96CB" unitRef="usd">13895000</cgnx:DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState>
	<cgnx:DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState contextRef="FI2016Q4" decimals="-3" id="Fact-9951255313039FB2F15C1A27E52B4BFD" unitRef="usd">15365000</cgnx:DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState>
	<cgnx:DepreciationDiscontinuedOperations contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-1F9EACE8B0FC02867AEC1A27E542204A" unitRef="usd">777000</cgnx:DepreciationDiscontinuedOperations>
	<cgnx:DepreciationDiscontinuedOperations contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-A8ACD6B5B65E5BFEE10D1A27E542C7AE" unitRef="usd">401000</cgnx:DepreciationDiscontinuedOperations>
	<cgnx:DepreciationDiscontinuedOperations contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-1E03E2921636467CDB471A27E5421D00" unitRef="usd">0</cgnx:DepreciationDiscontinuedOperations>
	<cgnx:DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-AEDE1E44E95EE69053151A27E54937DD" unitRef="usd">4089000</cgnx:DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses>
	<cgnx:DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-C18D99B8482C4FA1B76F1A27E547B8FD" unitRef="usd">2126000</cgnx:DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses>
	<cgnx:DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-3B2AD79AE27D4425B2B41A27E5462C84" unitRef="usd">0</cgnx:DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses>
	<cgnx:DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-94F5C66C40553E1FD8891A27E54897B4" unitRef="usd">12968000</cgnx:DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses>
	<cgnx:DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-3938244FF08E8D0407651A27E53050EC" unitRef="usd">7800000</cgnx:DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses>
	<cgnx:DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-54139EB99ABEF3B86AC41A27E5484163" unitRef="usd">0</cgnx:DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses>
	<cgnx:DisposalGroupIncludingDiscontinuedOperationsTransactionCosts contextRef="D2015Q3_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="0" id="Fact-47F1F21CF72810B09D1E1A27E52D5016" unitRef="usd">5198000</cgnx:DisposalGroupIncludingDiscontinuedOperationsTransactionCosts>
	<cgnx:DueFromForeignBanks contextRef="FI2015Q4" decimals="0" id="Fact-18C378E358950F8D41D31A27E538E261" unitRef="usd">39279000</cgnx:DueFromForeignBanks>
	<cgnx:DueFromForeignBanks contextRef="FI2016Q4" decimals="0" id="Fact-0F57CE114EB2179371A61A27E539C750" unitRef="usd">68076000</cgnx:DueFromForeignBanks>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount contextRef="FI2016Q4" decimals="0" id="Fact-C59FCE3642B9260FA6EE1AD272755BC2" unitRef="usd">11889000</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent contextRef="FD2014Q4YTD" decimals="2" id="Fact-BACC8D6E0E59771567E31A27E53A0B8E" unitRef="number">0.00</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent contextRef="FD2015Q4YTD" decimals="2" id="Fact-AFD7975AF2FF726AAED31A27E52F6826" unitRef="number">0.00</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent contextRef="FD2016Q4YTD" decimals="2" id="Fact-6D0A4A71CE849B3E4B031A27E547380B" unitRef="number">0.07</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent>
	<cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount contextRef="FI2014Q4" decimals="0" id="Fact-0D9901F9CA38FE9E70DB1A27E5316D22" unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
	<cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount contextRef="FI2015Q4" decimals="0" id="Fact-3F5CCC30B4F425756E881A27E544A87F" unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
	<cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount contextRef="FI2016Q4" decimals="0" id="Fact-611E72DA526C826F93831A27E543AAEF" unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
	<cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement contextRef="FI2016Q4" decimals="2" id="Fact-C5B9DC44B9BA360F77771A27E535D61D" unitRef="number">0.11</cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement>
	<cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement contextRef="FI2016Q4" decimals="2" id="Fact-25C94374246E00B8030D1A27E534B16A" unitRef="number">0.09</cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement>
	<cgnx:Euroliquidityfunds contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-92D3D3227C61083369121A27E53BDA04" unitRef="usd">46499000</cgnx:Euroliquidityfunds>
	<cgnx:ExpirationPeriodOfStockOptionPlan contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" id="Fact-0F4DBC13F82965C5A6EC1A27E5373F32">P10Y</cgnx:ExpirationPeriodOfStockOptionPlan>
	<cgnx:FairValueInExcessToCarryingValue contextRef="I2010Q4SD_us-gaap_StatementBusinessSegmentsAxis_cgnx_MvsdMember" decimals="2" id="Fact-0BE44FC3C7BE1BFAAABE1A27E5397EF8" unitRef="number">2.08</cgnx:FairValueInExcessToCarryingValue>
	<cgnx:Incomefromdiscontinuedoperationstotalpretax contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-D44B85DD8317FC2DF7F31A27E5467F8D" unitRef="usd">15641000</cgnx:Incomefromdiscontinuedoperationstotalpretax>
	<cgnx:Incomefromdiscontinuedoperationstotalpretax contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-D88E0E4FBFF16BEE31141A27E5308DB3" unitRef="usd">127211000</cgnx:Incomefromdiscontinuedoperationstotalpretax>
	<cgnx:Incomefromdiscontinuedoperationstotalpretax contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-F4C23AA13272634425321A27E549C181" unitRef="usd">-404000</cgnx:Incomefromdiscontinuedoperationstotalpretax>
	<cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates contextRef="FD2014Q4YTD" decimals="0" id="Fact-5835ED3E0F737DC3EC7A1A27E5383B71" unitRef="usd">288000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
	<cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates contextRef="FD2015Q4YTD" decimals="0" id="Fact-042B44C35446BEF28B191A27E534B014" unitRef="usd">461000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
	<cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates contextRef="FD2016Q4YTD" decimals="0" id="Fact-967B50ECDD2A9EA36DA51A27E537ED85" unitRef="usd">334000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
	<cgnx:LegalSettlementAsset contextRef="FI2016Q4" decimals="0" id="Fact-FB5E85F81261C4309BD61A27E543C47B" unitRef="usd">1667000</cgnx:LegalSettlementAsset>
	<cgnx:LegalSettlementExpense contextRef="FD2016Q3YTD" decimals="0" id="Fact-28AAEF599E15F59249171A27E53472DE" unitRef="usd">1833000</cgnx:LegalSettlementExpense>
	<cgnx:LegalSettlementTotal contextRef="FI2016Q4" decimals="0" id="Fact-8DB20AB88751817672621A27E5452A2F" unitRef="usd">3500000</cgnx:LegalSettlementTotal>
	<cgnx:Lifeofpatentyears contextRef="FD2016Q4YTD" id="Fact-8841104890FBF8C46D611A27E52AACE3">P5Y</cgnx:Lifeofpatentyears>
	<cgnx:LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue contextRef="FD2016Q3QTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember_us-gaap_LitigationCaseAxis_cgnx_AMETEKMatterMember_us-gaap_LitigationStatusAxis_us-gaap_SettledLitigationMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_GuaranteeObligationsMember" decimals="0" id="Fact-544646F391D4500562B91E8EEA48A93D" unitRef="usd">326000</cgnx:LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue>
	<cgnx:LossContingencyDamagesAwardedReimbursementOfLegalFeesValue contextRef="FD2016Q3QTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember_us-gaap_LitigationCaseAxis_cgnx_AMETEKMatterMember_us-gaap_LitigationStatusAxis_us-gaap_SettledLitigationMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_GuaranteeObligationsMember" decimals="0" id="Fact-818BD9F529BCED68CABF1E8F1E8CDA83" unitRef="usd">45000</cgnx:LossContingencyDamagesAwardedReimbursementOfLegalFeesValue>
	<cgnx:MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves contextRef="FD2016Q4YTD" decimals="0" id="Fact-4C6C5E5676E84D72E34E1A27E542DD70" unitRef="usd">1050000</cgnx:MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
	<cgnx:MaximumInvestmentInLimitedPartnership contextRef="FD2016Q4YTD" decimals="INF" id="Fact-53344E01E9BFB52976EF1A27E53F703D" unitRef="usd">20500000</cgnx:MaximumInvestmentInLimitedPartnership>
	<cgnx:MaximumInvestmentOfCompanyInPartnership contextRef="FD2016Q4YTD" decimals="INF" id="Fact-2A4C2528771DCF4E795C1A27E54883AA" unitRef="number">0.05</cgnx:MaximumInvestmentOfCompanyInPartnership>
	<cgnx:MinimumAgeToBeEligibleToDefinedContributionPlan contextRef="FD2016Q4YTD" id="Fact-6DCD0BB37E1B1FD02D861A27E54432C6">P21Y</cgnx:MinimumAgeToBeEligibleToDefinedContributionPlan>
	<cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves contextRef="FD2016Q4YTD" decimals="0" id="Fact-AA2400427B3EDEC561151A27E546DA69" unitRef="usd">950000</cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
	<cgnx:MoneyMarketInstrumentsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-E23461650C0E7A1F15E41A27E53AE0B3" unitRef="usd">2334000</cgnx:MoneyMarketInstrumentsFairValueDisclosure>
	<cgnx:MoneyMarketInstrumentsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-3A35824D7758EAA2E2D11A27E53BCEB1" unitRef="usd">0</cgnx:MoneyMarketInstrumentsFairValueDisclosure>
	<cgnx:MunicipalBondsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-823E88CB600FA56A702C1A27E53CABC9" unitRef="usd">0</cgnx:MunicipalBondsFairValueDisclosure>
	<cgnx:MunicipalBondsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-95D590F27B8E10B17F351A27E53BDF36" unitRef="usd">7750000</cgnx:MunicipalBondsFairValueDisclosure>
	<cgnx:NoncurrentDeferredTaxAssetsDeprecation contextRef="FI2015Q4" decimals="-3" id="Fact-6DAAD8230C3DBD7CD1271A27E546AA86" unitRef="usd">2328000</cgnx:NoncurrentDeferredTaxAssetsDeprecation>
	<cgnx:NoncurrentDeferredTaxAssetsDeprecation contextRef="FI2016Q4" decimals="-3" id="Fact-09377325B91C0E827BD01AAE700E0D29" unitRef="usd">2882000</cgnx:NoncurrentDeferredTaxAssetsDeprecation>
	<cgnx:NumberOfGroupsWithinEmployeePopulation contextRef="FI2016Q4" decimals="INF" id="Fact-0ECB50F0E42B27F684701A27E536FE72" unitRef="Employees">2</cgnx:NumberOfGroupsWithinEmployeePopulation>
	<cgnx:NumberOfPreferredStockPurchaseRightForDividendDistribution contextRef="I2008Q4Dec5" decimals="INF" id="Fact-E2D07FB6EC875E3FE9071A27E5347A42" unitRef="Right">1</cgnx:NumberOfPreferredStockPurchaseRightForDividendDistribution>
	<cgnx:OpenTaxYearStateAuthorities contextRef="FD2016Q4YTD" id="Fact-EB3CCCD02ABA4305529E1A27E5469219">2013 through 2016</cgnx:OpenTaxYearStateAuthorities>
	<cgnx:OpentaxyearUnitedStatesInternalRevenueService contextRef="FD2016Q4YTD" id="Fact-65D95D61118814B815161A27E545B9BC">2013 through 2016</cgnx:OpentaxyearUnitedStatesInternalRevenueService>
	<cgnx:Opentaxyearvarioustaxingauthorities contextRef="FD2016Q4YTD" id="Fact-854A153C0D83D70B4F0A1A27E5456205">2012 through 2016</cgnx:Opentaxyearvarioustaxingauthorities>
	<cgnx:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent contextRef="FD2014Q4YTD_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-DCDDF6FF07F2F86F58861A27E53CB644" unitRef="usd">0</cgnx:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent>
	<cgnx:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent contextRef="FD2015Q4YTD_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-89ACA7A1F0A881103FE71A27E53BEF8E" unitRef="usd">0</cgnx:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent>
	<cgnx:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent contextRef="FD2016Q4YTD_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-2576FB378A20A46FDE1B1A27E53BDAEC" unitRef="usd">0</cgnx:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent>
	<cgnx:PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest contextRef="FI2016Q4" decimals="2" id="Fact-BE809749091AC192A8ED1A27E537280D" unitRef="number">0.72</cgnx:PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest>
	<cgnx:PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest contextRef="FI2016Q4" decimals="2" id="Fact-2A5745EB811AD152BBDE1A27E537BEB7" unitRef="number">0.77</cgnx:PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest>
	<cgnx:ProductWarrantyPeriod contextRef="FD2016Q4YTD_us-gaap_RangeAxis_us-gaap_MaximumMember" id="Fact-FA9F3D685632ADF150941A27E52DFEBC">P3Y</cgnx:ProductWarrantyPeriod>
	<cgnx:ProductWarrantyPeriod contextRef="FD2016Q4YTD_us-gaap_RangeAxis_us-gaap_MinimumMember" id="Fact-B2476F280AACD8064A311A27E52BBF3F">P1Y</cgnx:ProductWarrantyPeriod>
	<cgnx:QualitativeAssessmentyears contextRef="FD2016Q4YTD" id="Fact-C18AB73EA3303AA4D2F61A27E53D6C82">P6Y</cgnx:QualitativeAssessmentyears>
	<cgnx:RemainingAmountOfCommitment contextRef="FI2016Q4" decimals="0" id="Fact-3BBBBAF924A675CEF5A71A27E548BA3E" unitRef="usd">614000</cgnx:RemainingAmountOfCommitment>
	<cgnx:Repurchasedsharestotalcost contextRef="FD2016Q4YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgram2014Member_us-gaap_StatementClassOfStockAxis_us-gaap_CommonStockMember" decimals="0" id="Fact-B6566EE4B5AB40FEDACA1A27E534B034" unitRef="usd">100000000</cgnx:Repurchasedsharestotalcost>
	<cgnx:RetirementAllowance contextRef="FI2015Q4" decimals="-3" id="Fact-8B51A62DC4445791C13A1A27E538294C" unitRef="usd">3249000</cgnx:RetirementAllowance>
	<cgnx:RetirementAllowance contextRef="FI2016Q4" decimals="-3" id="Fact-44D8BE137F2493C30F0C1A27E5369BA0" unitRef="usd">3388000</cgnx:RetirementAllowance>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue contextRef="FI2016Q4" decimals="-3" id="Fact-D715F646920FC41E1F6C1A27E52AC7CB" unitRef="usd">84359000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue contextRef="FD2014Q4YTD" decimals="0" id="Fact-6BAA8F8C644A8E479FB91A27E534CD89" unitRef="usd">11627000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue contextRef="FD2015Q4YTD" decimals="0" id="Fact-A4D86A769E682A49973C1A27E537C4EB" unitRef="usd">16227000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue contextRef="FD2016Q4YTD" decimals="0" id="Fact-6F68E82CAD9B50FB40721A27E5378561" unitRef="usd">18114000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
	<cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue contextRef="FD2014Q4YTD" decimals="0" id="Fact-C2484C41109041C0A8D91A27E537D88C" unitRef="usd">31884000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
	<cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue contextRef="FD2015Q4YTD" decimals="0" id="Fact-6F44B4A86C4A352F94C81A27E536D2BF" unitRef="usd">43987000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
	<cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue contextRef="FD2016Q4YTD" decimals="0" id="Fact-DC3A04DEB87A8B0943401A27E5363847" unitRef="usd">55580000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
	<cgnx:SovereignBondsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-62D0BD3CC7BBCB76617C1A27E53A89FD" unitRef="usd">30883000</cgnx:SovereignBondsFairValueDisclosure>
	<cgnx:Stateresearchandexperimentationtaxcarryforwards contextRef="FD2016Q4YTD" id="Fact-E8B65DB28A758A0020D81A27E547F0DF">2014 through 2016</cgnx:Stateresearchandexperimentationtaxcarryforwards>
	<cgnx:Stockbasedcompensationdiscontinuedoperation contextRef="FD2014Q4YTD" decimals="-3" id="Fact-BCFEADF67BE8C1DAB7F31A27E544328B" unitRef="usd">1099000</cgnx:Stockbasedcompensationdiscontinuedoperation>
	<cgnx:Stockbasedcompensationdiscontinuedoperation contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-299FDDDC9391A08DDF031A27E54272DF" unitRef="usd">1099000</cgnx:Stockbasedcompensationdiscontinuedoperation>
	<cgnx:Stockbasedcompensationdiscontinuedoperation contextRef="FD2015Q4YTD" decimals="-3" id="Fact-6ECCCF4CBA477E8EFD491A27E529225A" unitRef="usd">1533000</cgnx:Stockbasedcompensationdiscontinuedoperation>
	<cgnx:Stockbasedcompensationdiscontinuedoperation contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-66D2AF626744DBAD67211A27E54231F1" unitRef="usd">1533000</cgnx:Stockbasedcompensationdiscontinuedoperation>
	<cgnx:Stockbasedcompensationdiscontinuedoperation contextRef="FD2016Q4YTD" decimals="-3" id="Fact-595BAE06B3D93E98108A1A27E5490498" unitRef="usd">0</cgnx:Stockbasedcompensationdiscontinuedoperation>
	<cgnx:Stockbasedcompensationdiscontinuedoperation contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-7D05C13862626F908F1F1A27E54237F2" unitRef="usd">0</cgnx:Stockbasedcompensationdiscontinuedoperation>
	<cgnx:TaxYearsCoveredThroughAdvancedPricingAgreement contextRef="FD2015Q4YTD" id="Fact-F82C8F1235F7BC1B2BB51A27E52BEB5E">2006 through 2011</cgnx:TaxYearsCoveredThroughAdvancedPricingAgreement>
	<cgnx:TaxyearsforAPAagreement contextRef="FD2016Q4YTD" id="Fact-E3AEF06499B0B2E942581A27E5471519">Between 2014 and 2018</cgnx:TaxyearsforAPAagreement>
	<cgnx:Totalsharesrepurchased contextRef="FD2016Q4YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgram2014Member" decimals="0" id="Fact-A21590AB2E102D760E531A27E536E6C1" unitRef="shares">2666000</cgnx:Totalsharesrepurchased>
	<cgnx:TreasuryBillsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-44DEBC563C1ED9B1E32E1A27E53BAD5B" unitRef="usd">0</cgnx:TreasuryBillsFairValueDisclosure>
	<cgnx:TreasuryBillsFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-1FFADB52297191C32F751A27E53BD392" unitRef="usd">159455000</cgnx:TreasuryBillsFairValueDisclosure>
	<cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets contextRef="FI2015Q4" decimals="0" id="Fact-6E1CC9B1205D6054FEBB1A27E5385900" unitRef="usd">1028000</cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets>
	<cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets contextRef="FI2016Q4" decimals="0" id="Fact-F10F70CE9DB61BBE8CCF1A27E5445B03" unitRef="usd">1028000</cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets>
	<cgnx:VoteEntitledForEachCommonShareOutstanding contextRef="FI2016Q4" decimals="INF" id="Fact-DF5E78AE1C6DAEE5D9C61A27E5358B95" unitRef="Vote">1</cgnx:VoteEntitledForEachCommonShareOutstanding>
	<dei:AmendmentFlag contextRef="FD2016Q4YTD" id="Fact-785BA5577E51176425471A27E53C77C5">false</dei:AmendmentFlag>
	<dei:CurrentFiscalYearEndDate contextRef="FD2016Q4YTD" id="Fact-0DD01FDE00BEDDCD7E881A27E52C284B">--12-31</dei:CurrentFiscalYearEndDate>
	<dei:DocumentFiscalPeriodFocus contextRef="FD2016Q4YTD" id="Fact-5F2A814BB833DFACFED71A27E54782EA">FY</dei:DocumentFiscalPeriodFocus>
	<dei:DocumentFiscalYearFocus contextRef="FD2016Q4YTD" id="Fact-58435330AF8600BAB6AB1A27E53F8E5B">2016</dei:DocumentFiscalYearFocus>
	<dei:DocumentPeriodEndDate contextRef="FD2016Q4YTD" id="Fact-8905E4D07E36087B61731A27E532AD9B">2016-12-31</dei:DocumentPeriodEndDate>
	<dei:DocumentType contextRef="FD2016Q4YTD" id="Fact-70D583B68927E75018271A27E5400DBE">10-K</dei:DocumentType>
	<dei:EntityCentralIndexKey contextRef="FD2016Q4YTD" id="Fact-A6836B45316648A41A521A27E52D63CA">0000851205</dei:EntityCentralIndexKey>
	<dei:EntityCommonStockSharesOutstanding contextRef="I2017Q1Jan29" decimals="INF" id="Fact-601FDB0C77351327B3761A27E53F2F16" unitRef="shares">86053044</dei:EntityCommonStockSharesOutstanding>
	<dei:EntityCurrentReportingStatus contextRef="FD2016Q4YTD" id="Fact-72B05BF09C62429A4ACD1A27E53DD767">Yes</dei:EntityCurrentReportingStatus>
	<dei:EntityFilerCategory contextRef="FD2016Q4YTD" id="Fact-899823A30E5E26F944691A27E52D035C">Large Accelerated Filer</dei:EntityFilerCategory>
	<dei:EntityPublicFloat contextRef="FI2016Q2" decimals="0" id="Fact-91D575F0F73E18F819131A27E53854DA" unitRef="usd">3486705000</dei:EntityPublicFloat>
	<dei:EntityRegistrantName contextRef="FD2016Q4YTD" id="Fact-AA9C8C4B0EF8FFB089B81A27E52AA6F5">COGNEX CORP</dei:EntityRegistrantName>
	<dei:EntityVoluntaryFilers contextRef="FD2016Q4YTD" id="Fact-EAD9F5DFF57EED1ECAC91A27E5427053">No</dei:EntityVoluntaryFilers>
	<dei:EntityWellKnownSeasonedIssuer contextRef="FD2016Q4YTD" id="Fact-99AF20AEF590BF54302A1A27E53E61FB">Yes</dei:EntityWellKnownSeasonedIssuer>
	<dei:TradingSymbol contextRef="FD2016Q4YTD" id="Fact-A34108FCC74179FCD4601A27E52D89A8">CGNX</dei:TradingSymbol>
	<us-gaap:AccountsPayableCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-870D44926EF9B553CA7B1A27E5382689" unitRef="usd">7860000</us-gaap:AccountsPayableCurrent>
	<us-gaap:AccountsPayableCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-F34B7A6AAEDA3A1AF6D81A27E52D1AFE" unitRef="usd">9830000</us-gaap:AccountsPayableCurrent>
	<us-gaap:AccountsReceivableNetCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-1DC17C1B18096B0DB06B1A27E5366039" unitRef="usd">42846000</us-gaap:AccountsReceivableNetCurrent>
	<us-gaap:AccountsReceivableNetCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-69FEB0DC405BED2CA84C1A27E5323A8B" unitRef="usd">55438000</us-gaap:AccountsReceivableNetCurrent>
	<us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="FD2014Q4YTD" decimals="-3" id="Fact-925E922AC522E96A71BE1A27E5473602" unitRef="usd">-1823000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
	<us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="FD2015Q4YTD" decimals="-3" id="Fact-748B82C81E15A70599691A27E5485B81" unitRef="usd">-690000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
	<us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="FD2016Q4YTD" decimals="-3" id="Fact-E159BD98FDDE478A9C281A27E545DBC9" unitRef="usd">-383000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
	<us-gaap:AccruedBonusesCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-9FF07C17A109FFE570B81A27E531A8B0" unitRef="usd">4895000</us-gaap:AccruedBonusesCurrent>
	<us-gaap:AccruedBonusesCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-842C953172AA6764E6271A27E54568A1" unitRef="usd">11462000</us-gaap:AccruedBonusesCurrent>
	<us-gaap:AccruedIncomeTaxesCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-2CAC02EF10E1E71CF0D61A27E52E2800" unitRef="usd">985000</us-gaap:AccruedIncomeTaxesCurrent>
	<us-gaap:AccruedIncomeTaxesCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-645629CD3130710389881A27E52CF4A1" unitRef="usd">5193000</us-gaap:AccruedIncomeTaxesCurrent>
	<us-gaap:AccruedLiabilitiesCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-D064CF449A80B5A7F73B1A27E52D495B" unitRef="usd">33272000</us-gaap:AccruedLiabilitiesCurrent>
	<us-gaap:AccruedLiabilitiesCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-C8C6AAECCB1A9308E1371A27E5333AD2" unitRef="usd">42539000</us-gaap:AccruedLiabilitiesCurrent>
	<us-gaap:AccruedSalariesCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-63637768CE189A31D4041A27E54061B6" unitRef="usd">4859000</us-gaap:AccruedSalariesCurrent>
	<us-gaap:AccruedSalariesCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-66619494DB2FF16E1AE71A27E5309338" unitRef="usd">7193000</us-gaap:AccruedSalariesCurrent>
	<us-gaap:AccruedVacationCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-EEBF30A30D4B52AC8EA71A27E53FF651" unitRef="usd">4482000</us-gaap:AccruedVacationCurrent>
	<us-gaap:AccruedVacationCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-F677D6A07EF4153E904D1A27E52F34C7" unitRef="usd">4860000</us-gaap:AccruedVacationCurrent>
	<us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="FI2015Q4" decimals="-3" id="Fact-C10C88F83832C749AB3C1A27E5394350" unitRef="usd">60797000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
	<us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="FI2016Q4" decimals="-3" id="Fact-90EFCD6BF3E3D35FB66C1A27E53F58C4" unitRef="usd">69503000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="FI2015Q4" decimals="0" id="Fact-000ECC30E98C176416861A27E5397AF2" unitRef="usd">1413000</us-gaap:AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="FI2016Q4" decimals="0" id="Fact-8FDA44432BB9CDEBBA041A27E53AF7D1" unitRef="usd">68000</us-gaap:AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax contextRef="FI2015Q4" decimals="0" id="Fact-5623AF62213AAE134E081A27E52B2A9E" unitRef="usd">49646000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax contextRef="FI2016Q4" decimals="0" id="Fact-15181E00C4FA56A371E71A27E53362D3" unitRef="usd">55262000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" decimals="-3" id="Fact-C3C567EAB4AA9566A29D1A27E52E6CBB" unitRef="usd">32000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="FI2015Q4" decimals="-3" id="Fact-130C48EDECD57077B5511A27E52D7868" unitRef="usd">-52124000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" decimals="-3" id="Fact-B51B005BB6B6B1189BBB1A27E52B1A16" unitRef="usd">206000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="FI2016Q4" decimals="-3" id="Fact-4913F56B42F6244DDDC81A27E549BB47" unitRef="usd">-56428000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" decimals="-3" id="Fact-FEC477772316C0ECD2F01A27E52BFFB7" unitRef="usd">37000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="D2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" id="Fact-52B0847733788B0FCD601A27E54395C3">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
	<us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="D2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member" id="Fact-3CE64271D4154A7C4CCF1B311474DD38">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
	<us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="D2016Q3Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" id="Fact-11BF41E80F211FCBDC5F1B7CEFA79C80">P7Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
	<us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="D2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember" id="Fact-179AAB9BA1EA4F19C38A1B531D4E2345">P7Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
	<us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="D2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember" id="Fact-FE39B4F77786428CF38C1B416AD48877">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
	<us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife contextRef="D2016Q4Dec09_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" id="Fact-0D3ACEA575ED3B186E691B40A0D15F79">P7Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
	<us-gaap:AdditionalPaidInCapitalCommonStock contextRef="FI2015Q4" decimals="-3" id="Fact-696973227C1619DDD6E31A27E52D8B89" unitRef="usd">311008000</us-gaap:AdditionalPaidInCapitalCommonStock>
	<us-gaap:AdditionalPaidInCapitalCommonStock contextRef="FI2016Q4" decimals="-3" id="Fact-F27DEED7DFCB99C0DD391A27E52A14E0" unitRef="usd">375030000</us-gaap:AdditionalPaidInCapitalCommonStock>
	<us-gaap:AdjustmentForLongTermIntercompanyTransactionsNetOfTax contextRef="FD2015Q4YTD" decimals="0" id="Fact-BF0DBDEA2E4BBEBA4ABF1A27E535C329" unitRef="usd">1271000</us-gaap:AdjustmentForLongTermIntercompanyTransactionsNetOfTax>
	<us-gaap:AdjustmentForLongTermIntercompanyTransactionsNetOfTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-86EED06F60046461B3A01A27E5351341" unitRef="usd">1271000</us-gaap:AdjustmentForLongTermIntercompanyTransactionsNetOfTax>
	<us-gaap:AdjustmentForLongTermIntercompanyTransactionsNetOfTax contextRef="FD2016Q4YTD" decimals="0" id="Fact-2F9092BBF571CE08A6911A27E547FAC1" unitRef="usd">1271000</us-gaap:AdjustmentForLongTermIntercompanyTransactionsNetOfTax>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2014Q4YTD" decimals="-3" id="Fact-D23CCFEAA5BE4737A2BC1A27E540E2C6" unitRef="usd">15158000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-8888773E4E8F363D1A841A27E52E97D2" unitRef="usd">15158000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2015Q4YTD" decimals="-3" id="Fact-1D5AFF05455A7DA3D3421A27E5415B1C" unitRef="usd">21274000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-1E447B6161E191A1C1531A27E532BDAD" unitRef="usd">21274000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2016Q4YTD" decimals="-3" id="Fact-B762FD2C057084706D2A1A27E5416511" unitRef="usd">20558000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-E51786AFF0A09073827F1A27E5349376" unitRef="usd">20558000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="FD2014Q4YTD" decimals="-3" id="Fact-DB189C49CE6E09C3304C1A27E534A1FC" unitRef="usd">7871000</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-F89A5FF9592031F935761A27E5346257" unitRef="usd">7871000</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="FD2015Q4YTD" decimals="-3" id="Fact-BBB5831E942E381E46341A27E5400FEE" unitRef="usd">9964000</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-DF9DF86ACB7854ACCE671A27E534F9F3" unitRef="usd">9964000</us-gaap:AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation>
	<us-gaap:AdvertisingExpense contextRef="FD2014Q4YTD" decimals="0" id="Fact-2D55F7E453047B7CC2871A27E54848D4" unitRef="usd">2609000</us-gaap:AdvertisingExpense>
	<us-gaap:AdvertisingExpense contextRef="FD2015Q4YTD" decimals="0" id="Fact-37174F3E11E8261B7CB61A27E5377FAF" unitRef="usd">2009000</us-gaap:AdvertisingExpense>
	<us-gaap:AdvertisingExpense contextRef="FD2016Q4YTD" decimals="0" id="Fact-C8655EE47B057E08DA3E1A27E5375612" unitRef="usd">1674000</us-gaap:AdvertisingExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="D2015Q3_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" decimals="0" id="Fact-8263A1E2F52748F1A5ED1A27E53609B2" unitRef="usd">1106000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2014Q4YTD" decimals="0" id="Fact-8875582E5851BE5B98A41A27E537AC75" unitRef="usd">15158000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2014Q4YTD" decimals="-3" id="Fact-CB1E0CF6ED34723E2B191A27E53930F9" unitRef="usd">15158000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2014Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_ProductCostOfRevenueMember" decimals="-3" id="Fact-05E3BF99BDB319428AB41A27E538E354" unitRef="usd">1116000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2014Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" decimals="-3" id="Fact-D97206D69F3D356BE75B1A27E5392F81" unitRef="usd">9234000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2014Q4YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-9B0555EDDA73B7B42FDD1A27E539D1F6" unitRef="usd">3709000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2015Q4YTD" decimals="-3" id="Fact-2142263621E518C371A81A27E538EE51" unitRef="usd">21274000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2015Q4YTD" decimals="0" id="Fact-242B84F343CE2D6278261A27E5375D14" unitRef="usd">21274000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2015Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_ProductCostOfRevenueMember" decimals="-3" id="Fact-EA7F3D6E2210C51FFFDA1A27E538EC18" unitRef="usd">1515000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2015Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" decimals="-3" id="Fact-DC95334554DBC87B8CC11A27E539B558" unitRef="usd">13032000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2015Q4YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-929637D41F0EF98A39FD1A27E537C000" unitRef="usd">5194000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2016Q3QTD_us-gaap_StatementOperatingActivitiesSegmentAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" decimals="0" id="Fact-C321651313544022577F1A27E52D0D48" unitRef="usd">1106000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2016Q4YTD" decimals="0" id="Fact-5B815F0526297A0974641A27E53A6100" unitRef="usd">20558000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2016Q4YTD" decimals="-3" id="Fact-24882B131D25D7B3088A1A27E5330308" unitRef="usd">20558000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2016Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_ProductCostOfRevenueMember" decimals="-3" id="Fact-A4D54EEFDC43A3A504241A27E537EBC5" unitRef="usd">1052000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2016Q4YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" decimals="-3" id="Fact-D0487BB12884B5A4FE4B1A27E5375793" unitRef="usd">13235000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2016Q4YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-FE72CD029095289EC2661A27E5382B60" unitRef="usd">6271000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AmortizationOfIntangibleAssets contextRef="FD2014Q4YTD" decimals="-3" id="Fact-B2C47D900B78CCE2B75C1A27E54A44C9" unitRef="usd">4024000</us-gaap:AmortizationOfIntangibleAssets>
	<us-gaap:AmortizationOfIntangibleAssets contextRef="FD2015Q4YTD" decimals="-3" id="Fact-4086A7B939AF708BF12A1A27E53F7B5F" unitRef="usd">4250000</us-gaap:AmortizationOfIntangibleAssets>
	<us-gaap:AmortizationOfIntangibleAssets contextRef="FD2016Q4YTD" decimals="-3" id="Fact-7041C8866348B094137F1A27E5433E71" unitRef="usd">3391000</us-gaap:AmortizationOfIntangibleAssets>
	<us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="FD2014Q4YTD" decimals="0" id="Fact-1C530B27E79B970664B61A27E5443B15" unitRef="shares">1286403</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
	<us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="FD2015Q4YTD" decimals="0" id="Fact-B2A281BEECC828A2186C1A27E546E263" unitRef="shares">3035078</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
	<us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="FD2016Q4YTD" decimals="0" id="Fact-D273F914E018A12A9BA51A27E52EFBF3" unitRef="shares">2195799</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
	<us-gaap:Assets contextRef="FI2015Q4" decimals="-3" id="Fact-1BE931812E7FD4E64A201A27E52A303B" unitRef="usd">887756000</us-gaap:Assets>
	<us-gaap:Assets contextRef="FI2016Q4" decimals="-3" id="Fact-F4953F265CEDD22F63781A27E5327DDD" unitRef="usd">1038604000</us-gaap:Assets>
	<us-gaap:AssetsCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-0B9CBB28398057D5B5AB1A27E543AB02" unitRef="usd">444494000</us-gaap:AssetsCurrent>
	<us-gaap:AssetsCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-D56EF80DC9B0788DF6661A27E52D2060" unitRef="usd">526344000</us-gaap:AssetsCurrent>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4" decimals="-3" id="Fact-567B0E0F66FE549BAF851A27E540164D" unitRef="usd">665464000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-402C2A67419A869E52D71A27E53846A2" unitRef="usd">10310000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-154E22FA0C59AD2F2BF81A27E5354E07" unitRef="usd">26968000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-7EBD7BBF0D0D5C38D8CA1A27E52F3F5A" unitRef="usd">169911000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-763214A0FD9EECAD6C281A27E52CCA90" unitRef="usd">1236000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-9A18486C9C644A5AD7341A27E5313A44" unitRef="usd">23704000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-909401B40A628DD58EE91A27E540A98A" unitRef="usd">92392000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-F1CEF8AE8A944A633A291A27E53DA04E" unitRef="usd">2900000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-13CC052CA1B5771DE3291A27E52CB773" unitRef="usd">46173000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-3AAE1ED5C1092AC12F8F1A27E540432E" unitRef="usd">69623000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-45BF866EA98BE947630A1A27E53506AA" unitRef="usd">141216000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-69D2E47CCDF98AA916A61A27E54703E1" unitRef="usd">6517000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-2B1F93FBF55144312D851A27E5379E97" unitRef="usd">7313000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-79D37ACB3456E6B711241A27E53452DF" unitRef="usd">67201000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4" decimals="-3" id="Fact-73E46A4EE3152DBB1C781A27E5358DBF" unitRef="usd">913000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-945DA48C5A237F66785F1A27E52F415B" unitRef="usd">29000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-893AB96D793363640CD61A27E540FCDF" unitRef="usd">25000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-A36F20545CD3E902318F1A27E5473D95" unitRef="usd">406000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-25D84A0611D42F45B4771A27E546583E" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-05FF41EAA415D2FB06EB1A27E540489E" unitRef="usd">6000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-B99167F934363EA1371B1A27E5370B85" unitRef="usd">40000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-D2494C6505F934F1A1511A27E5384FDB" unitRef="usd">3000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-7B87634DCC4945C7EA511A27E52F2820" unitRef="usd">326000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-427F5C768E6CCB40608A1A27E52E7843" unitRef="usd">18000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-136B0ADE28B8B0ACBF321A27E5387021" unitRef="usd">37000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-DBC5589164C2AEDB36D11A27E538F1F1" unitRef="usd">2000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-DB0CA424361DAF769C6D1A27E532C378" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-5E3151CB28738F56AD5B1A27E52F315C" unitRef="usd">21000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4" decimals="-3" id="Fact-6B79014FF6E5261421A61A27E5374C69" unitRef="usd">848000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-114EFCE9134583144B181A27E540E6AE" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-8FBEA7B2A086D9ED170B1A27E53CF2B7" unitRef="usd">47000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-5A9A4DF6AB620C3E2D2D1A27E535529A" unitRef="usd">365000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-40E3AD39F4FA4FA9F14E1A27E540F340" unitRef="usd">3000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-EA2106715CE3F85AE14F1A27E5378853" unitRef="usd">125000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-F63CFD363AF36BE73F5A1A27E539F365" unitRef="usd">152000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-91C3B5009491975333781A27E5417BD2" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-158AD4C14A39F502B51B1A27E534F6E7" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-2B7D9586C71EFE7055491A27E53E4237" unitRef="usd">27000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-FB30A591E7BF69BA581B1A27E532063E" unitRef="usd">65000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-3BA93C576504CE11E8271A27E535088D" unitRef="usd">2000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-E7269A7260D96B86F8541A27E532C22C" unitRef="usd">15000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-28AA43ADA87B15F60E211A27E5346E18" unitRef="usd">47000</us-gaap:AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2016Q4" decimals="-3" id="Fact-29F93360E83B8ADE6F6E1A27E53C1F92" unitRef="usd">34000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-ABA71EFBC3161EAB5DA01A27E53CB5F7" unitRef="usd">4000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-048A1676BFA98DD2C8A21A27E53B9363" unitRef="usd">30000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-6D03C4ACB7ED3EEC79541A27E53B59BF" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-7614329310AB816C2BB11A27E53CB63A" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss contextRef="FI2016Q4" decimals="-3" id="Fact-2AE985EA434C1BEFAE811A27E53C4648" unitRef="usd">848000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-43D22015B73EB05E41E71A27E53D5042" unitRef="usd">74000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-216400E5159E6E500CC31A27E53C2F83" unitRef="usd">430000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-27F3DE68CDE1EBA719891A27E53C3613" unitRef="usd">5000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-2F758A1972DA9C5A52C81A27E53C839B" unitRef="usd">140000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-AF4221C18F1BFC52BC041A27E53D331C" unitRef="usd">199000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2016Q4" decimals="-3" id="Fact-00361471134DA1F018DF1A27E53CB286" unitRef="usd">315284000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-2FBCB286643CC45163F11A27E53B268C" unitRef="usd">51427000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-4DFD5F8214139151AD6C1A27E53CE1D3" unitRef="usd">132784000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-3746B6BA27C570CE718D1A27E53C1250" unitRef="usd">4028000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-A657B00653A0AB0882131A27E53C7902" unitRef="usd">27687000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-7955CAA813E79B0878511A27E53BC4A2" unitRef="usd">99358000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2016Q4" decimals="-3" id="Fact-37CA7CDF2A958BBCC8F41A27E53BA73B" unitRef="usd">814000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-632BF81AE9B79930D9481A27E53CFAE9" unitRef="usd">70000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-EEACBDFCD94E9E1C59621A27E53EBDC3" unitRef="usd">400000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-07DD06244DFC823797D71A27E53DCF9C" unitRef="usd">5000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-536F3974B8083981B6E31A27E53DBF0D" unitRef="usd">140000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-706E66CC0FFB089C7F871A27E53C45D8" unitRef="usd">199000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2016Q4" decimals="-3" id="Fact-A17FCA54F067B515CBF31A27E53C22F6" unitRef="usd">294355000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-DD47D700B1D83A2DA07B1A27E53B2B0E" unitRef="usd">45429000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-A7805D9BF20510A7C38F1A27E53CF48E" unitRef="usd">117853000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-40A8DB156E035716D2CF1A27E53D2CD2" unitRef="usd">4028000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-B69ED9BC8233A71FC3571A27E53DFF51" unitRef="usd">27687000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-47622760EE531370D5101A27E53C787C" unitRef="usd">99358000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2016Q4" decimals="-3" id="Fact-0DE6C1C8DD25544CD4151A27E53D9FA4" unitRef="usd">20929000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-5B6E53B29A22C9E277891A27E53FAE88" unitRef="usd">5998000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-11D839770A303B3A002F1A27E53D8571" unitRef="usd">14931000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-2D0EB6162AD512B9D2761A27E53CDB93" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2016Q4" decimals="-3" id="Fact-68E7832731F10A10CDE81A27E53D1448" unitRef="usd">341194000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-67529CBEB4C55610ACDF1A27E52FFDB9" unitRef="usd">2903000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-FD94DC856ED15DFB46631A27E54477B4" unitRef="usd">46499000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-10437644DED8D8A581B91A27E530C14A" unitRef="usd">69614000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-3C0AF85E27DBAEE792871A27E534BC9A" unitRef="usd">141188000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-A19C9355DC8C088978191A27E533D0E8" unitRef="usd">6517000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-26FB234591660051DBF81A27E53C8C43" unitRef="usd">7298000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-45F241A08F63D8EB3B701A27E5306CF9" unitRef="usd">67175000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4" decimals="-3" id="Fact-05724C4BC92CC4EA33711A27E5403203" unitRef="usd">665529000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-1542F4F569846436DC971A27E5388933" unitRef="usd">10339000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-2701CA9B00107DCA4F701A27E53C0DFE" unitRef="usd">26946000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-85386CCDDCC9CD83C17A1A27E5456F1F" unitRef="usd">169952000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-154A0B07AEC448016EC61A27E5351DE8" unitRef="usd">1233000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-34BF7793F803219A2EE01A27E5402675" unitRef="usd">23585000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-2EA18BF04DD44E87A4F61A27E548D534" unitRef="usd">92280000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-AC1573E580B9CB65C6B71A27E537B007" unitRef="usd">2903000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-3EB8AC66A3A0AD4F496B1A27E537296B" unitRef="usd">46499000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-668599F01419E6747CDE1A27E5473945" unitRef="usd">69614000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-E1575484B39DC1421B441A27E52C2AE3" unitRef="usd">141188000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-21C5F761CD47AC4E13211A27E53224DE" unitRef="usd">6517000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-7E30AEACF29B43DA1AD61A27E5366240" unitRef="usd">7298000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-1E7294FF69A03373E19A1A27E540F303" unitRef="usd">67175000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-6E6D62F62B35579435A61A27E54A76EB" unitRef="usd">13242000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-D5776C6C0F3A4AC807461A27E530989E" unitRef="usd">46499000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-4BC8BCC730196D726F6C1A27E52AE08E" unitRef="usd">96560000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-89E3D045EBD10ADF45611A27E53BB5DE" unitRef="usd">311140000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-860E049EF909BEF6FA411A27E53D11B1" unitRef="usd">7750000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-312C7A6992C08385D8051A27E530C3BC" unitRef="usd">30883000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-16D2F4CA95F35B40EEB91A27E53E68F7" unitRef="usd">159455000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-DC08BD20CF039B8A361E1A27E535F467" unitRef="usd">296468000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-E8AD1946DC3FC4DB39F51A27E53B0F27" unitRef="usd">978000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-B46D7CE63562704AC9761A27E53D7F33" unitRef="usd">47730000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-91778EEFF95FB3B9273D1A27E53BC0FA" unitRef="usd">61994000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-F8D3D955E9628B82F1111A27E53CA59E" unitRef="usd">54376000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-79EC66CC47AF1296F71B1A27E53B1779" unitRef="usd">590000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-59939B34C4DFA2460CCD1A27E53DB7D5" unitRef="usd">21440000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasuryBillSecuritiesMember" decimals="-3" id="Fact-F89004B86947AA3FA0DB1A27E53DE93C" unitRef="usd">109360000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-F589CF60072D3FE301571A27E53DE2AB" unitRef="usd">341194000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-E728A5E5DEDAB15FD4DD1A27E53D3524" unitRef="usd">2903000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_EuroliquidityfundMember" decimals="-3" id="Fact-CE94B47E4DF4D43E8CA41A27E53B968A" unitRef="usd">46499000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-C6F61D85DC0F964505581A27E53F0242" unitRef="usd">69614000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-255A349C02BE7DE108591A27E53E0256" unitRef="usd">141188000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-E8169F23A9180BD96A7B1A27E53E1912" unitRef="usd">6517000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-ECF0441C5C2DE561E2801A27E53E99B9" unitRef="usd">7298000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasuryBillSecuritiesMember" decimals="-3" id="Fact-A06CD1B693B7A770B8621A27E53C38B5" unitRef="usd">67175000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-924ECAD5C2E47D3D94161A27E5301A0B" unitRef="usd">8180000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-0E4E07904168AFEE7AC91A27E53CDDC8" unitRef="usd">24582000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-72A0952FC9457805AB711A27E53C8A12" unitRef="usd">176575000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-057A1DFC8733A0EB15A11A27E53D7A2A" unitRef="usd">4869000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-AB64A764925E739C7B3C1A27E53FDEF0" unitRef="usd">13503000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2015Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasuryBillSecuritiesMember" decimals="-3" id="Fact-1F13AD8464A8D11EB1151A27E5463111" unitRef="usd">44437000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-B3823138BE0A755158A51A27E53BAE72" unitRef="usd">10339000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-3FD9290229D17D86EED31A27E53A8C89" unitRef="usd">26946000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-59D26FA0305D84636D631A27E53FCC8D" unitRef="usd">169952000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-3F5ED3E2401C3C0F2BD11A27E53D3960" unitRef="usd">1233000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-20EF9F0765E71A4B7CA11A27E53E0433" unitRef="usd">23585000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2016Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasuryBillSecuritiesMember" decimals="-3" id="Fact-CEFA2265E8978E2F43041A27E53EF569" unitRef="usd">92280000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedGains contextRef="FD2014Q4YTD" decimals="0" id="Fact-429185A5B6C7D6C49C391A27E5485FC6" unitRef="usd">843000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedGains contextRef="FD2015Q4YTD" decimals="0" id="Fact-5ED5E493C67A30318A171A27E5330F12" unitRef="usd">549000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedGains contextRef="FD2016Q4YTD" decimals="0" id="Fact-81B46AC18D8854D39A451A27E5388324" unitRef="usd">292000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses contextRef="FD2014Q4YTD" decimals="0" id="Fact-4300D987DD0C6971182D1A27E53A91BE" unitRef="usd">170000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses contextRef="FD2015Q4YTD" decimals="0" id="Fact-C0749832DCD7C385C00A1A27E533AA83" unitRef="usd">205000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses contextRef="FD2016Q4YTD" decimals="0" id="Fact-33E8B38124BA7D30B70A1A27E532A3FD" unitRef="usd">101000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
	<us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="D2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-F711E1D643A204CF88621B8AA71ED1C1" unitRef="usd">4813000</us-gaap:BusinessCombinationConsiderationTransferred1>
	<us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="D2016Q3Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-AAC61D457F38182379F41B4CB99CD270" unitRef="usd">4149000</us-gaap:BusinessCombinationConsiderationTransferred1>
	<us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="D2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member" decimals="-3" id="Fact-EA6ECB38928A23CBDAA91B3B4964DF8C" unitRef="usd">3176000</us-gaap:BusinessCombinationConsiderationTransferred1>
	<us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="D2016Q4Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-6CF9C880103E31EB06B71B5FA94A28AF" unitRef="eur">7250000</us-gaap:BusinessCombinationConsiderationTransferred1>
	<us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="D2016Q4Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-1C4A35A725AD6031242D1B5FA94C1E87" unitRef="usd">7901000</us-gaap:BusinessCombinationConsiderationTransferred1>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="FD2014Q4YTD" decimals="-3" id="Fact-03B5CEF96751E5A5F84A1A27E540D0F3" unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="FD2015Q4YTD" decimals="-3" id="Fact-F053FDA5DE5876B76F431A27E546B8B4" unitRef="usd">-790000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="FD2015Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-1E20743E51314F66CF511B8F789A8665" unitRef="usd">790000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="FD2016Q4YTD" decimals="-3" id="Fact-BBC59C02D95CAC2FB9411A27E5464A23" unitRef="usd">-463000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-4D09D19F0097045D8C281B90E700124A" unitRef="usd">463000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="FI2017Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_StatementScenarioAxis_us-gaap_ScenarioForecastMember" decimals="-3" id="Fact-8B6DC8568C3AB85D0FAA1A27E5494D35" unitRef="usd">1700000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="FI2018Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_StatementScenarioAxis_us-gaap_ScenarioForecastMember" decimals="-3" id="Fact-918BA4470616A82F48C41B8EAF22365A" unitRef="usd">2200000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-EC1CD5196D5FF8D9156E1B6CA5D72D29" unitRef="eur">1250000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-E6462F37C99CC06A2E0F1B6D0F0ABDAC" unitRef="usd">1362000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-6111F3E0905F738E4F001B4F59A09090" unitRef="usd">1250000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow contextRef="FI2017Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_StatementScenarioAxis_us-gaap_ScenarioForecastMember" decimals="-3" id="Fact-67CC1428EFC9502B96171A27E5491503" unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow contextRef="FI2018Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_StatementScenarioAxis_us-gaap_ScenarioForecastMember" decimals="-3" id="Fact-587AA5BE714F4DED0BE51B8E8EC0E4B5" unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-27D58E5F1E6B7F7B256A1B6C75D612C2" unitRef="eur">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow contextRef="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-C7219C2EF9DA79D908D91B4F28B13596" unitRef="usd">0</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow>
	<us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="FI2015Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-1C5E7531A33C859C65DD1A27E546B643" unitRef="usd">3000000</us-gaap:BusinessCombinationContingentConsiderationLiability>
	<us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="FI2016Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-37C15E841FDA0906568B1B911868E030" unitRef="usd">2200000</us-gaap:BusinessCombinationContingentConsiderationLiability>
	<us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-BA46450326E9E4476D161A27E53AEE42" unitRef="usd">4173000</us-gaap:BusinessCombinationContingentConsiderationLiability>
	<us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="I2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-515E7F85EC7E326A3CF91B8C1F8AB8FC" unitRef="usd">3790000</us-gaap:BusinessCombinationContingentConsiderationLiability>
	<us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent contextRef="FI2016Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-856A96757C72FB72A9E81A27E52B0544" unitRef="usd">800000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
	<us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-E5B2FC89A584BD0926B01B6AB733CD6E" unitRef="usd">1362000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
	<us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-53AD8B65C72F477831F91B6AB731EDFB" unitRef="eur">1250000</us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent>
	<us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent contextRef="FI2016Q4_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-BC6524905E0D12573B771A27E5468760" unitRef="usd">1400000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
	<us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent contextRef="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-DD4C1E8A347F18D0C6091B4FEB38694F" unitRef="usd">611000</us-gaap:BusinessCombinationContingentConsiderationLiabilityNoncurrent>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-C9866A61C26DB0ACA9811B71EC0EAB49" unitRef="usd">167000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets contextRef="I2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-8ABC82D2E71E56BB34561A27E52A243B" unitRef="usd">23000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-06CBC7ED1CEFF25C717B1B726918E0CB" unitRef="usd">15000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets contextRef="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member" decimals="-3" id="Fact-F5D5984AFD64724B683B1B4640AE6BA4" unitRef="usd">8000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets contextRef="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-0A88092C08D1F6DCA8781B56D1C5BD36" unitRef="usd">3000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables contextRef="I2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member" decimals="-3" id="Fact-4C09E127AE2CE95A75D31B8268E852AB" unitRef="usd">168000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-FA625788110993A0E8CA1B7217A612CF" unitRef="usd">4000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables contextRef="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member" decimals="-3" id="Fact-A8CFD20DAACEFC4B57331B45D349166E" unitRef="usd">504000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-85D5083F794AAC3CDC971B73B99D2420" unitRef="usd">6000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable contextRef="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member" decimals="-3" id="Fact-42B06D92999B4DF1C2EA1B4706C3172E" unitRef="usd">77000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="I2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-2851C912154535CDFF831A27E52AC455" unitRef="usd">140000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="I2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember" decimals="-3" id="Fact-055EE09A554527242D711A27E549115A" unitRef="usd">590000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="I2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-9BB4093A6EF90168E69A1B829FED571F" unitRef="usd">598000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="I2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember" decimals="-3" id="Fact-7EB0239800FC0D7CE5F71B829FF10BF0" unitRef="usd">384000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-4901B19F3C947ED0F72B1B72F209A995" unitRef="usd">447000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember" decimals="-3" id="Fact-EE0EFFE06C881CB6BEE41B72F20CF172" unitRef="usd">1089000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember" decimals="-3" id="Fact-32C13D84738F339BFCBF1B469293B97C" unitRef="usd">680000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember" decimals="-3" id="Fact-BF9DFFBFD9FCE4D63DDC1B4692984B71" unitRef="usd">840000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TechnologyBasedIntangibleAssetsMember" decimals="-3" id="Fact-77484A1C8B00149FB5A01B5702C58BDF" unitRef="usd">1350000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-6E9A7D26ED75BF50ACED1B723F44B428" unitRef="usd">79000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory contextRef="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member" decimals="-3" id="Fact-2A6F946F1AFC2FF9A0221B4608B79AB6" unitRef="usd">296000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-590B5E505FDF04FB05B41B72B2A5B38A" unitRef="usd">44000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet contextRef="I2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-79F5B93A0C2A8023FBF81A27E544BD76" unitRef="usd">4813000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet contextRef="I2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member" decimals="-3" id="Fact-58DB88AF2B556B59EA971B835F51FEA1" unitRef="usd">2519000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-8859E437FF59A9B653ED1B74A75673FE" unitRef="usd">7901000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet contextRef="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member" decimals="-3" id="Fact-F7F3D7D9A46DBC396B2B1B474B70516E" unitRef="usd">3176000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
	<us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet contextRef="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-24F8258C19DFAD5105BA1B5975023BC0" unitRef="usd">4149000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
	<us-gaap:CapitalExpenditureDiscontinuedOperations contextRef="FD2014Q4YTD" decimals="-3" id="Fact-538D4A034257C89077931A27E54932A6" unitRef="usd">631000</us-gaap:CapitalExpenditureDiscontinuedOperations>
	<us-gaap:CapitalExpenditureDiscontinuedOperations contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-06E0792D4CE15C4657CD1A27E542DA7C" unitRef="usd">631000</us-gaap:CapitalExpenditureDiscontinuedOperations>
	<us-gaap:CapitalExpenditureDiscontinuedOperations contextRef="FD2015Q4YTD" decimals="-3" id="Fact-FC5B5F54A145FF2EE87D1A27E5443138" unitRef="usd">482000</us-gaap:CapitalExpenditureDiscontinuedOperations>
	<us-gaap:CapitalExpenditureDiscontinuedOperations contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-E718D5D04BF30B9DE2341A27E542C10E" unitRef="usd">482000</us-gaap:CapitalExpenditureDiscontinuedOperations>
	<us-gaap:CapitalExpenditureDiscontinuedOperations contextRef="FD2016Q4YTD" decimals="-3" id="Fact-C4530767AF96D76A1B061A27E547446A" unitRef="usd">0</us-gaap:CapitalExpenditureDiscontinuedOperations>
	<us-gaap:CapitalExpenditureDiscontinuedOperations contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-53EC6E7B6AC50FE88C291A27E542D0AF" unitRef="usd">0</us-gaap:CapitalExpenditureDiscontinuedOperations>
	<us-gaap:Cash contextRef="FI2015Q4" decimals="-3" id="Fact-6EF65EEC389A370E2E921A27E53BF95F" unitRef="usd">45951000</us-gaap:Cash>
	<us-gaap:Cash contextRef="FI2016Q4" decimals="-3" id="Fact-7E5D6E9136908EEA03A21A27E53A9651" unitRef="usd">77307000</us-gaap:Cash>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2013Q4" decimals="-3" id="Fact-EE2BB4516DEDBECC3C8B1A27E5472785" unitRef="usd">40644000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2014Q4" decimals="-3" id="Fact-9DF07EDD11312F29284E1A27E546B75D" unitRef="usd">55694000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2015Q4" decimals="-3" id="Fact-5D10A9EF869B4CEC0D711A27E52F6690" unitRef="usd">51975000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2016Q4" decimals="-3" id="Fact-8C8385B3E60DBE4E39661A27E5302E39" unitRef="usd">79641000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="FD2014Q4YTD" decimals="-3" id="Fact-D54B28C8D2510383D16A1A27E549D080" unitRef="usd">15050000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
	<us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="FD2015Q4YTD" decimals="-3" id="Fact-FA4D4C4D7CE6D9B1937F1A27E54A6903" unitRef="usd">-3719000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
	<us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="FD2016Q4YTD" decimals="-3" id="Fact-0B069A224749FA0B1D521A27E545FD70" unitRef="usd">27666000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
	<us-gaap:CashCashEquivalentsAndShortTermInvestments contextRef="FI2015Q4_us-gaap_StatementGeographicalAxis_us-gaap_NonUsMember" decimals="0" id="Fact-B62CC3B6405E993096F71AB914F38BA6" unitRef="usd">352621000</us-gaap:CashCashEquivalentsAndShortTermInvestments>
	<us-gaap:CashCashEquivalentsAndShortTermInvestments contextRef="FI2016Q4_us-gaap_StatementGeographicalAxis_us-gaap_NonUsMember" decimals="0" id="Fact-02166FA14E216427AF221AB914E49E56" unitRef="usd">437691000</us-gaap:CashCashEquivalentsAndShortTermInvestments>
	<us-gaap:CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths contextRef="FD2016Q4YTD" decimals="0" id="Fact-9674497BFB620984E11A1A27E52FB928" unitRef="usd">37000</us-gaap:CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths>
	<us-gaap:CommitmentsAndContingencies contextRef="FI2015Q4" id="Fact-E5FBCEF97FAB83DEFD721A27E54252D2" unitRef="usd" xsi:nil="true" />
	<us-gaap:CommitmentsAndContingencies contextRef="FI2016Q4" id="Fact-216E2B32876476BA33BE1A27E549EAC9" unitRef="usd" xsi:nil="true" />
	<us-gaap:CommonStockDividendsPerShareCashPaid contextRef="FD2014Q4YTD" decimals="2" id="Fact-54234FC11C5BEC178E381A27E52D349C" unitRef="usdPerShare">0.00</us-gaap:CommonStockDividendsPerShareCashPaid>
	<us-gaap:CommonStockDividendsPerShareCashPaid contextRef="FD2015Q4YTD" decimals="2" id="Fact-77FA99B858A9FAA387EB1A27E52E4D54" unitRef="usdPerShare">0.21</us-gaap:CommonStockDividendsPerShareCashPaid>
	<us-gaap:CommonStockDividendsPerShareCashPaid contextRef="FD2016Q4YTD" decimals="2" id="Fact-2B43CA49CF2D0A8DD8D21A27E52DDEBE" unitRef="usdPerShare">0.30</us-gaap:CommonStockDividendsPerShareCashPaid>
	<us-gaap:CommonStockDividendsPerShareDeclared contextRef="FD2015Q2QTD" decimals="2" id="Fact-7BB3CC1E54F7BE51BF081A27E534919D" unitRef="usdPerShare">0.07</us-gaap:CommonStockDividendsPerShareDeclared>
	<us-gaap:CommonStockDividendsPerShareDeclared contextRef="FD2015Q3QTD" decimals="INF" id="Fact-D5344B0C06F29B12ED091AAA4CCB2387" unitRef="usdPerShare">0.07</us-gaap:CommonStockDividendsPerShareDeclared>
	<us-gaap:CommonStockDividendsPerShareDeclared contextRef="FD2015Q4QTD" decimals="INF" id="Fact-682F0023465DF5C282FF1AAA4C186869" unitRef="usdPerShare">0.07</us-gaap:CommonStockDividendsPerShareDeclared>
	<us-gaap:CommonStockDividendsPerShareDeclared contextRef="FD2016Q1QTD" decimals="INF" id="Fact-73E396987C2E04E085D41AAA4B7AD287" unitRef="usdPerShare">0.07</us-gaap:CommonStockDividendsPerShareDeclared>
	<us-gaap:CommonStockDividendsPerShareDeclared contextRef="FD2016Q2QTD" decimals="3" id="Fact-35E6BD996FD583E2EFCE1AA9AE5B6311" unitRef="usdPerShare">0.075</us-gaap:CommonStockDividendsPerShareDeclared>
	<us-gaap:CommonStockDividendsPerShareDeclared contextRef="FD2016Q3QTD" decimals="INF" id="Fact-96F1FD1FE62A35E631AA1AAA5BD190B3" unitRef="usdPerShare">0.075</us-gaap:CommonStockDividendsPerShareDeclared>
	<us-gaap:CommonStockDividendsPerShareDeclared contextRef="FD2016Q4QTD" decimals="INF" id="Fact-E54AD7F353F4AC1D19EF1AAA5B2F13A5" unitRef="usdPerShare">0.075</us-gaap:CommonStockDividendsPerShareDeclared>
	<us-gaap:CommonStockParOrStatedValuePerShare contextRef="FI2015Q4" decimals="INF" id="Fact-A387FD1E16EF69E296221A27E54A560B" unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
	<us-gaap:CommonStockParOrStatedValuePerShare contextRef="FI2016Q4" decimals="INF" id="Fact-F05C62E421C9704096921A27E54AE0BE" unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
	<us-gaap:CommonStockSharesAuthorized contextRef="FI2015Q4" decimals="INF" id="Fact-89542B70E1512FF1C17C1A27E549B23E" unitRef="shares">140000000</us-gaap:CommonStockSharesAuthorized>
	<us-gaap:CommonStockSharesAuthorized contextRef="FI2016Q4" decimals="INF" id="Fact-35D588CE727A9D901BAD1A27E549AEDB" unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
	<us-gaap:CommonStockSharesAuthorized contextRef="I2016Q2Apr27" decimals="INF" id="Fact-BCBB4C7EB15D806987911AA2B97AB89E" unitRef="shares">140000000</us-gaap:CommonStockSharesAuthorized>
	<us-gaap:CommonStockSharesAuthorized contextRef="I2016Q2Apr28" decimals="INF" id="Fact-F460FCFE29153961349C1AA2B9947DCE" unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
	<us-gaap:CommonStockSharesIssued contextRef="FI2013Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-B3C324B1D957716EED581A27E52F9DD1" unitRef="shares">86831000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-3706BE6796D551CDDF631A27E5363E80" unitRef="shares">86542000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2015Q4" decimals="-3" id="Fact-6432339970F80BE2C06C1A27E549DA83" unitRef="shares">84856000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-BEABAEBCF68D04D332BA1A27E5338A3F" unitRef="shares">84856000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2016Q4" decimals="-3" id="Fact-5428DA9F8386EEE4C6E81A27E54A5157" unitRef="shares">85939000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-94A2BC79B21093982E851A27E534C1A8" unitRef="shares">85939000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesOutstanding contextRef="FI2015Q4" decimals="-3" id="Fact-1EDCB887C506314AC2E91A27E549E2D4" unitRef="shares">84856000</us-gaap:CommonStockSharesOutstanding>
	<us-gaap:CommonStockSharesOutstanding contextRef="FI2016Q4" decimals="-3" id="Fact-FD63834CF90BF6A86F571A27E54ACDB4" unitRef="shares">85939000</us-gaap:CommonStockSharesOutstanding>
	<us-gaap:CommonStockValueOutstanding contextRef="FI2015Q4" decimals="-3" id="Fact-8B80BBACD02FE011346C1A27E5438F18" unitRef="usd">170000</us-gaap:CommonStockValueOutstanding>
	<us-gaap:CommonStockValueOutstanding contextRef="FI2016Q4" decimals="-3" id="Fact-114AEABD77543126E93F1A27E52E6910" unitRef="usd">172000</us-gaap:CommonStockValueOutstanding>
	<us-gaap:ComprehensiveIncomeNetOfTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-30B35011FA9CE1CB1BF41A27E53FD240" unitRef="usd">111919000</us-gaap:ComprehensiveIncomeNetOfTax>
	<us-gaap:ComprehensiveIncomeNetOfTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-6A9D920B91077EA0BFF21A27E53C9269" unitRef="usd">174349000</us-gaap:ComprehensiveIncomeNetOfTax>
	<us-gaap:ComprehensiveIncomeNetOfTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-BF0368D8E47EBFAB4C101A27E536B4E5" unitRef="usd">145268000</us-gaap:ComprehensiveIncomeNetOfTax>
	<us-gaap:ConcentrationRiskPercentage1 contextRef="FD2014Q4YTD_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember" decimals="2" id="Fact-6A9C73F37CEEB1CB51F21A27E54A191A" unitRef="number">0.16</us-gaap:ConcentrationRiskPercentage1>
	<us-gaap:ConcentrationRiskPercentage1 contextRef="FD2015Q4YTD_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember" decimals="2" id="Fact-AD10FCAEE3248A05A0BB1A27E548C088" unitRef="number">0.18</us-gaap:ConcentrationRiskPercentage1>
	<us-gaap:ConcentrationRiskPercentage1 contextRef="FD2016Q4YTD_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember" decimals="2" id="Fact-509B3FC3A29248371CAD3E67A0B799A1" unitRef="number">0.19</us-gaap:ConcentrationRiskPercentage1>
	<us-gaap:CostMethodInvestments contextRef="FI2015Q4" decimals="-3" id="Fact-E4A6AD97E776E8A181771A27E53D7E21" unitRef="usd">942000</us-gaap:CostMethodInvestments>
	<us-gaap:CostMethodInvestments contextRef="FI2016Q4" decimals="-3" id="Fact-EA46DA5B660617317B041A27E53D75CF" unitRef="usd">0</us-gaap:CostMethodInvestments>
	<us-gaap:CostMethodInvestmentsRealizedGains contextRef="FD2016Q4YTD" decimals="0" id="Fact-DB6EB3F78C75E387AD231E8B999D59ED" unitRef="usd">1315000</us-gaap:CostMethodInvestmentsRealizedGains>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2014Q4YTD" decimals="-3" id="Fact-907FEB51E995F1EF6BD81A27E538607D" unitRef="usd">94067000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2015Q4YTD" decimals="-3" id="Fact-37C89B95733F7FC009301A27E52D57AB" unitRef="usd">102571000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2016Q4YTD" decimals="-3" id="Fact-E9A912F3B882353DEF531A27E52C2EF9" unitRef="usd">115590000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CurrentFederalTaxExpenseBenefit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-B60035D5F590316E7ED31A27E5406575" unitRef="usd">18852000</us-gaap:CurrentFederalTaxExpenseBenefit>
	<us-gaap:CurrentFederalTaxExpenseBenefit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-C0F09D98549820168CCC1A27E52B1893" unitRef="usd">16430000</us-gaap:CurrentFederalTaxExpenseBenefit>
	<us-gaap:CurrentFederalTaxExpenseBenefit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-B8CF648D5A4BFF8B2CE01A27E5439294" unitRef="usd">14459000</us-gaap:CurrentFederalTaxExpenseBenefit>
	<us-gaap:CurrentForeignTaxExpenseBenefit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-0F018EF21D09C2B81A331A27E52EE466" unitRef="usd">4854000</us-gaap:CurrentForeignTaxExpenseBenefit>
	<us-gaap:CurrentForeignTaxExpenseBenefit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-8F51572209A902372FB81A27E537D2EB" unitRef="usd">4946000</us-gaap:CurrentForeignTaxExpenseBenefit>
	<us-gaap:CurrentForeignTaxExpenseBenefit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-A74E7B28397AC5C0FDC31A27E542460A" unitRef="usd">8149000</us-gaap:CurrentForeignTaxExpenseBenefit>
	<us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-C415CF5BCAEE8213A1511A27E5398589" unitRef="usd">24314000</us-gaap:CurrentIncomeTaxExpenseBenefit>
	<us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-E8FA8C1FD60B14FCD4281A27E52ECECF" unitRef="usd">21754000</us-gaap:CurrentIncomeTaxExpenseBenefit>
	<us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-91DEC317733A754EE4741A27E5368EEE" unitRef="usd">21991000</us-gaap:CurrentIncomeTaxExpenseBenefit>
	<us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-AE49577F4F35CD8957C21A27E54129F5" unitRef="usd">608000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
	<us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-8F1BFF8BB7A197A6AA071A27E5371A6B" unitRef="usd">378000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
	<us-gaap:CurrentStateAndLocalTaxExpenseBenefit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-1F4286EDE90C2CC177611A27E5456241" unitRef="usd">-617000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
	<us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-9CCDD29A146728EAB6471A27E52E7512" unitRef="usd">-2569000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
	<us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-772382BFF31BC9BFD72C1A27E52CAA9B" unitRef="usd">-2541000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
	<us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-1A3E9265969DA89DDFC91A27E52EE06C" unitRef="usd">-3031000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
	<us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-03645A1A01805E82D3181A27E53A5093" unitRef="usd">-837000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
	<us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-4FBE878A9A448D5FAEEF1A27E543517E" unitRef="usd">250000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
	<us-gaap:DeferredForeignIncomeTaxExpenseBenefit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-01D30D4720B07908AE591A27E5411FE1" unitRef="usd">-1058000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
	<us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-4E481660B35AE41492191A27E542FF29" unitRef="usd">-3399000</us-gaap:DeferredIncomeTaxExpenseBenefit>
	<us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-58DD49F0E744C6375B751A27E5391FB3" unitRef="usd">-2456000</us-gaap:DeferredIncomeTaxExpenseBenefit>
	<us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-937C91AF642B2FADA1651A27E538B12D" unitRef="usd">-3023000</us-gaap:DeferredIncomeTaxExpenseBenefit>
	<us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="FI2015Q4" decimals="-3" id="Fact-4342C92368C23C53FB971A27E52E1120" unitRef="usd">319000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
	<us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="FI2016Q4" decimals="-3" id="Fact-B0CEBB0938E303DB317D1A27E549BA56" unitRef="usd">0</us-gaap:DeferredIncomeTaxLiabilitiesNet>
	<us-gaap:DeferredRevenueAndCreditsCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-7F9D9D723C3D99A910CF1A27E52C53B1" unitRef="usd">11571000</us-gaap:DeferredRevenueAndCreditsCurrent>
	<us-gaap:DeferredRevenueAndCreditsCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-FFBD767A908C09BF117D1A27E5449726" unitRef="usd">8211000</us-gaap:DeferredRevenueAndCreditsCurrent>
	<us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-721AB5582F14247B2EE01A27E52E085E" unitRef="usd">7000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
	<us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-A0BE64108B6659B27A2A1A27E52E654F" unitRef="usd">-165000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
	<us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-736F89A3D98D5B22325A1A27E52E21BD" unitRef="usd">1066000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
	<us-gaap:DeferredTaxAssetsGrossNoncurrent contextRef="FI2015Q4" decimals="-3" id="Fact-3AE1071F58836F4147E31A27E546BD73" unitRef="usd">30974000</us-gaap:DeferredTaxAssetsGrossNoncurrent>
	<us-gaap:DeferredTaxAssetsGrossNoncurrent contextRef="FI2016Q4" decimals="-3" id="Fact-4CE36B11DB905022F2E21A27E53679AA" unitRef="usd">32517000</us-gaap:DeferredTaxAssetsGrossNoncurrent>
	<us-gaap:DeferredTaxAssetsInventory contextRef="FI2015Q4" decimals="-3" id="Fact-998C957D941357BF0F231AAE7020FF2F" unitRef="usd">2985000</us-gaap:DeferredTaxAssetsInventory>
	<us-gaap:DeferredTaxAssetsInventory contextRef="FI2016Q4" decimals="-3" id="Fact-79953C24BB9C6F418AFF1AAE7017DF2A" unitRef="usd">2919000</us-gaap:DeferredTaxAssetsInventory>
	<us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent contextRef="FI2015Q4" decimals="-3" id="Fact-429CF6E042E967CF0AB91A27E541A7D7" unitRef="usd">26517000</us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent>
	<us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent contextRef="FI2016Q4" decimals="-3" id="Fact-93B45EE8D310F2AF499A1A27E546D1C4" unitRef="usd">28022000</us-gaap:DeferredTaxAssetsLiabilitiesNetNoncurrent>
	<us-gaap:DeferredTaxAssetsNetCurrent contextRef="FI2015Q4_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201517Member" decimals="0" id="Fact-8A3E470826C75AFA36CE1AE5714A0C99" unitRef="usd">-7104000</us-gaap:DeferredTaxAssetsNetCurrent>
	<us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="FI2015Q4" decimals="-3" id="Fact-7038E0293F9B0F67152A1A27E533D70C" unitRef="usd">26517000</us-gaap:DeferredTaxAssetsNetNoncurrent>
	<us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="FI2016Q4" decimals="-3" id="Fact-AEA2F390D27F17C98B861A27E53A1847" unitRef="usd">28022000</us-gaap:DeferredTaxAssetsNetNoncurrent>
	<us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch contextRef="FI2016Q4_us-gaap_TaxCreditCarryforwardAxis_cgnx_StateResearchAndExperimentationMember" decimals="0" id="Fact-17BAB029F938947020301A27E545CC95" unitRef="usd">6181000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
	<us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther contextRef="FI2015Q4" decimals="-3" id="Fact-85E80F9458D731177FAD1AAE70058307" unitRef="usd">2500000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther>
	<us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther contextRef="FI2016Q4" decimals="-3" id="Fact-F369CD74BAD20FD4C4621AAE6FE756E7" unitRef="usd">2483000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther>
	<us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="FI2015Q4" decimals="-3" id="Fact-81F1B4BFD260C9F557541A27E52A0EFC" unitRef="usd">5091000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
	<us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="FI2016Q4" decimals="-3" id="Fact-FAA714F1F482F7A4AB381A27E5459858" unitRef="usd">5154000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
	<us-gaap:DeferredTaxAssetsValuationAllowance contextRef="FI2016Q4_us-gaap_TaxCreditCarryforwardAxis_us-gaap_ResearchMember" decimals="0" id="Fact-74008EFB7A8114920E111A27E5424E41" unitRef="usd">857000</us-gaap:DeferredTaxAssetsValuationAllowance>
	<us-gaap:DeferredTaxAssetsValuationAllowanceNoncurrent contextRef="FI2015Q4" decimals="-3" id="Fact-3DE96635F44DCD1FAB351A27E52DADE0" unitRef="usd">3259000</us-gaap:DeferredTaxAssetsValuationAllowanceNoncurrent>
	<us-gaap:DeferredTaxAssetsValuationAllowanceNoncurrent contextRef="FI2016Q4" decimals="-3" id="Fact-E9F8117498408D9C446A1A27E52E5433" unitRef="usd">4116000</us-gaap:DeferredTaxAssetsValuationAllowanceNoncurrent>
	<us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="FI2015Q4" decimals="-3" id="Fact-13211A6B5B15B253996F1A27E52C0362" unitRef="usd">1198000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
	<us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="FI2016Q4" decimals="-3" id="Fact-0122429DD42EAD6F6A581A27E52AC5F8" unitRef="usd">379000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
	<us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="FI2016Q4" decimals="0" id="Fact-9FF1ADAA53FAB3F881F61A27E5360C3B" unitRef="usd">379000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
	<us-gaap:DeferredTaxLiabilitiesGrossCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-7939E0EBF97C7B420D361A27E52EA567" unitRef="usd">319000</us-gaap:DeferredTaxLiabilitiesGrossCurrent>
	<us-gaap:DeferredTaxLiabilitiesGrossCurrent contextRef="FI2015Q4_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201517Member" decimals="0" id="Fact-59ED86121932240254551AE5E7CC2F0E" unitRef="usd">-319000</us-gaap:DeferredTaxLiabilitiesGrossCurrent>
	<us-gaap:DeferredTaxLiabilitiesGrossCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-59102B0824B75CE95F391A27E53AAFA1" unitRef="usd">0</us-gaap:DeferredTaxLiabilitiesGrossCurrent>
	<us-gaap:DeferredTaxLiabilitiesGrossNoncurrent contextRef="FI2015Q4" decimals="0" id="Fact-E68FA3B2F1CBD24BD69D1A27E5417489" unitRef="usd">5858000</us-gaap:DeferredTaxLiabilitiesGrossNoncurrent>
	<us-gaap:DeferredTaxLiabilitiesGrossNoncurrent contextRef="FI2016Q4" decimals="0" id="Fact-7C250BB08F5C03131B021A27E531BA92" unitRef="usd">6389000</us-gaap:DeferredTaxLiabilitiesGrossNoncurrent>
	<us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="FI2015Q4" decimals="-3" id="Fact-55B27E2F87D0347959221A27E545F3F8" unitRef="usd">1198000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
	<us-gaap:DeferredTaxLiabilitiesNoncurrent contextRef="FI2016Q4" decimals="-3" id="Fact-01BCFE54A6EE0EAF54EC1A27E5442B4B" unitRef="usd">379000</us-gaap:DeferredTaxLiabilitiesNoncurrent>
	<us-gaap:DeferredTaxLiabilitiesOther contextRef="FI2015Q4" decimals="-3" id="Fact-57C24B36CA07908715FC1A27E5460800" unitRef="usd">319000</us-gaap:DeferredTaxLiabilitiesOther>
	<us-gaap:DeferredTaxLiabilitiesOther contextRef="FI2016Q4" decimals="-3" id="Fact-E72B6E1DF9EA14A12BBB1A27E543D180" unitRef="usd">0</us-gaap:DeferredTaxLiabilitiesOther>
	<us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries contextRef="FI2016Q4" decimals="0" id="Fact-27D70FCB25F5D7D597B81AC37BB8FA9C" unitRef="usd">151966000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
	<us-gaap:DefinedContributionPlanCostRecognized contextRef="FD2014Q4YTD" decimals="0" id="Fact-DAC6479EA1B09DE784521A27E52C7E4F" unitRef="usd">1555000</us-gaap:DefinedContributionPlanCostRecognized>
	<us-gaap:DefinedContributionPlanCostRecognized contextRef="FD2015Q4YTD" decimals="0" id="Fact-324133C484A81EEA4E2B1A27E541A34E" unitRef="usd">1845000</us-gaap:DefinedContributionPlanCostRecognized>
	<us-gaap:DefinedContributionPlanCostRecognized contextRef="FD2016Q4YTD" decimals="0" id="Fact-6014CB2DEC27F72AA9A51A27E539E3FB" unitRef="usd">1712000</us-gaap:DefinedContributionPlanCostRecognized>
	<us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent contextRef="FD2016Q4YTD" decimals="INF" id="Fact-51CBC8E2920707F722731A27E543042D" unitRef="number">0.06</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
	<us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch contextRef="FD2016Q4YTD" decimals="INF" id="Fact-8C521C3CDCD08B19FF871A27E5403A57" unitRef="number">0.5</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
	<us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent contextRef="FD2016Q4YTD" decimals="INF" id="Fact-C450FD4BDBDF955B3B9F1A27E5414B81" unitRef="number">0.25</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
	<us-gaap:Depreciation contextRef="FD2014Q4YTD" decimals="-3" id="Fact-E0404AE321AF925F90581A27E54741E9" unitRef="usd">8443000</us-gaap:Depreciation>
	<us-gaap:Depreciation contextRef="FD2015Q4YTD" decimals="-3" id="Fact-26D3A16DD4792049C08C1A27E543DB75" unitRef="usd">9868000</us-gaap:Depreciation>
	<us-gaap:Depreciation contextRef="FD2016Q4YTD" decimals="-3" id="Fact-BB367B526F2CB029265C1A27E54823C2" unitRef="usd">11678000</us-gaap:Depreciation>
	<us-gaap:DepreciationAndAmortizationDiscontinuedOperations contextRef="FD2014Q4YTD" decimals="-3" id="Fact-6D7E6EDC71FBA7A250571A27E549A483" unitRef="usd">1141000</us-gaap:DepreciationAndAmortizationDiscontinuedOperations>
	<us-gaap:DepreciationAndAmortizationDiscontinuedOperations contextRef="FD2015Q4YTD" decimals="-3" id="Fact-FB25E760956DD7484CD81A27E54972E8" unitRef="usd">566000</us-gaap:DepreciationAndAmortizationDiscontinuedOperations>
	<us-gaap:DepreciationAndAmortizationDiscontinuedOperations contextRef="FD2016Q4YTD" decimals="-3" id="Fact-2A8E8265101E3802A9721A27E54942D7" unitRef="usd">0</us-gaap:DepreciationAndAmortizationDiscontinuedOperations>
	<us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset contextRef="FI2015Q4" decimals="-3" id="Fact-1481B7BDE7E328D6B2F11A27E5402F55" unitRef="usd">29000</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
	<us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset contextRef="FI2016Q4" decimals="-3" id="Fact-8261DD17D7B16F8AEF681A27E541A71F" unitRef="usd">73000</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-840C8756A64EB35866DB1A27E54000B8" unitRef="cad">41000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-D1B6A41791DFEAD8FCAB1A27E538C317" unitRef="usd">37000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-2CC2F5B9CBADDD28F27D1A27E538D99F" unitRef="usd">34000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-375EACD21F68B597C5EA1A27E539AD37" unitRef="gbp">25000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-E059AB1D2A9BF0C2ABEF1A27E5384872" unitRef="gbp">1650000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-DBB9871698D0D471C2051A27E539E27F" unitRef="usd">2441000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-64E96D9D7B033522CFAF1A27E53765E3" unitRef="usd">1893000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-4B62E21DCE01F90535931A27E539A387" unitRef="huf">547000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-FFD73AE959B3CCA8E4881A27E5378BCE" unitRef="huf">250000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-E0082775D06A8EFCFA221A27E53666FA" unitRef="usd">857000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-6F308966B92133C03D601A27E536E592" unitRef="iso4217_JPY">942500000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-D6A3B39E74E28979EECC1A27E535A79D" unitRef="usd">7605000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-06A5D0BFB624BD225E651A27E541E30E" unitRef="usd">5800000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-CE2E55963899AEA73C151A27E536D831" unitRef="iso4217_JPY">700000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-0AE035BBE9CC04DA0BEA1A27E53707C1" unitRef="iso4217_KRW">1400000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-7EB7B191379BEF4485971A27E53696E0" unitRef="usd">1187000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-9AF6E718BBD42DF6FDFA1A27E5366AA3" unitRef="sgd">2063000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-229C194728658CD287EF1A27E5373F26" unitRef="usd">1425000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-CE921A62BFB3C0C7595A1A27E536A909" unitRef="usd">1074000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-3D0CB99FC6A2C75061B81A27E53818A3" unitRef="sgd">1525000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-E334FFFF8DB193326B2C1A27E536B0C4" unitRef="twd">26425000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-98A692E54CF904A24F721A27E5391F0F" unitRef="usd">800000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2015Q4_us-gaap_CurrencyAxis_currency_USD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-0E87F6659E9261BC33F61A27E53677BB" unitRef="usd">16720000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-1DE931116A6B655F87B71A27E54030E0" unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-2B889C1E5F0236B4463F1A27E53966D1" unitRef="cad">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-41E49D70C5972CF316C41A27E539F88C" unitRef="gbp">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-D7A1844B614110035DEE1A27E5367C6E" unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-D0336A389FE05C0430DC1A27E537900E" unitRef="usd">1658000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-EF0C2483DAA53915D6EC1A27E539AABD" unitRef="gbp">1350000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-0439FB730AA35810FDF41A27E536571D" unitRef="usd">130000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-2BFF4A0F3333FF07C9351A27E5381897" unitRef="huf">39000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-7D225762C066558772531A27E5387606" unitRef="usd">1448000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-153451077A65091278EC1A27E5386124" unitRef="huf">425000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-7ED933D92BD3019A7AB81A27E539AA69" unitRef="usd">2960000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-60730E3CD351D2A73D751A27E536E66A" unitRef="iso4217_JPY">342500000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-351BD3FA9F6A2E7543201A27E536D8AB" unitRef="iso4217_JPY">650000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-015CD0A12F6B7E51ADF01A27E5354ACB" unitRef="usd">5554000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-A7DDB569691359D3A4521A27E53512B9" unitRef="usd">1450000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-72BF52B6EA0931A4B7001A27E53603DC" unitRef="iso4217_KRW">1750000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-D2479F461583ECB362461A27E5381515" unitRef="usd">97000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-084850A27B91A4CED2F01A27E537F987" unitRef="sgd">150000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-34A40A4342E448C8F7451A27E5389FFC" unitRef="usd">929000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-77BF7244D79870A98D431A27E538D8CD" unitRef="sgd">1350000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-B906C92616A6CE3318DC1A27E5398C5F" unitRef="usd">802000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-AA5087C88D1819DA11641A27E536D830" unitRef="twd">26000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2016Q4_us-gaap_CurrencyAxis_currency_USD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-A4EFABB198FEBBC272F01A27E538D904" unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssets contextRef="FI2015Q4" decimals="-3" id="Fact-7509D9685973624338E91A27E5446F17" unitRef="usd">450000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2015Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-CC7A9CACD6DD2DD5BAC91A27E54216CF" unitRef="usd">441000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2015Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-43F801EAAE536B507AFE1A27E541C7B6" unitRef="usd">9000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2016Q4" decimals="-3" id="Fact-57112C4CED1902C3D9B41A27E54190B1" unitRef="usd">44000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2016Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-4B2361B0F75393A243DE1A27E5409385" unitRef="usd">43000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2016Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-EF7763451A9E361DC6A61A27E5407A3F" unitRef="usd">1000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeFairValueOfDerivativeAsset contextRef="FI2015Q4" decimals="-3" id="Fact-0F236A5A57301A2718051A27E541211E" unitRef="usd">479000</us-gaap:DerivativeFairValueOfDerivativeAsset>
	<us-gaap:DerivativeFairValueOfDerivativeAsset contextRef="FI2016Q4" decimals="-3" id="Fact-900BDBAD30D1446D33EA1A27E541EE90" unitRef="usd">117000</us-gaap:DerivativeFairValueOfDerivativeAsset>
	<us-gaap:DerivativeFairValueOfDerivativeLiability contextRef="FI2015Q4" decimals="-3" id="Fact-2AA1F0658CF270A9DAB61A27E541D493" unitRef="usd">279000</us-gaap:DerivativeFairValueOfDerivativeLiability>
	<us-gaap:DerivativeFairValueOfDerivativeLiability contextRef="FI2016Q4" decimals="-3" id="Fact-4AD4C529F3747F37F1811A27E542BF1A" unitRef="usd">11000</us-gaap:DerivativeFairValueOfDerivativeLiability>
	<us-gaap:DerivativeGainLossOnDerivativeNet contextRef="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-D22CA225681C148537EB1A27E52BDFD3" unitRef="usd">247000</us-gaap:DerivativeGainLossOnDerivativeNet>
	<us-gaap:DerivativeGainLossOnDerivativeNet contextRef="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-B75C2B0760458C5ACAF61A27E53547E3" unitRef="usd">-13000</us-gaap:DerivativeGainLossOnDerivativeNet>
	<us-gaap:DerivativeGainLossOnDerivativeNet contextRef="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-B657B3C6047ED595EFEA1A27E52A3D3C" unitRef="usd">-515000</us-gaap:DerivativeGainLossOnDerivativeNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember" decimals="0" id="Fact-395360333380C1598A211A27E52AD8D8" unitRef="usd">10</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="0" id="Fact-A033E5956CE1167962E11A27E52BE149" unitRef="usd">-42</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember" decimals="0" id="Fact-D9189AD8C102EFB90C061A27E52B4485" unitRef="usd">-14</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember" decimals="-3" id="Fact-E702C8349C04A4F0733A1A27E52AF2C7" unitRef="usd">172000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-3ACD8AE59AFC49D25A2B1A27E52BC84F" unitRef="usd">14000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember" decimals="-3" id="Fact-11029A547D67ED8BEBD21A27E52C100D" unitRef="usd">-387000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember" decimals="-3" id="Fact-FB5AB8FACB02FA2EC69E1A27E53537E1" unitRef="usd">27000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-D864E1069F7722466B0D1A27E52BB94D" unitRef="usd">13000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember" decimals="-3" id="Fact-A0CB07616C22E934FCD71A27E52A7313" unitRef="usd">-438000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet contextRef="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="0" id="Fact-36B95A37EC75B6042F161A27E535D8F0" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet contextRef="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-39FCA3796336DF2EA7561A27E52B883C" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet contextRef="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="0" id="Fact-8C307AD5D83A1F6105371A27E52BB8BA" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-FB31BD03A5A7ED2EEED91A27E52A2D2F" unitRef="usd">32000</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="0" id="Fact-902B042CD3B5A6C6D2411A27E52D0322" unitRef="usd">206000</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-6789FD723282A0646A071A27E536A771" unitRef="usd">206000</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="0" id="Fact-809DF310C28A10C16DFB1A27E5303BDC" unitRef="usd">37000</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeLiabilities contextRef="FI2015Q4" decimals="-3" id="Fact-65844B43A3DB092D0D721A27E5446287" unitRef="usd">244000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2015Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-10E0E5204BD90708901F1A27E53D9DB8" unitRef="usd">201000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2015Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-CA8C32B7DDC16FF540701A27E54111E5" unitRef="usd">43000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2016Q4" decimals="-3" id="Fact-DF0DA1C211ECAD647C351A27E54178C2" unitRef="usd">11000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2016Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" decimals="-3" id="Fact-153497A6478F2772A5131A27E541012F" unitRef="usd">0</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2016Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-A0BBD89483FB71918F631A27E54208ED" unitRef="usd">11000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset contextRef="FI2015Q4" decimals="-3" id="Fact-4F2956B355CD9702B6A91A27E52AEB98" unitRef="usd">35000</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
	<us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset contextRef="FI2016Q4" decimals="-3" id="Fact-4846AB79161914EE98E21A27E546D65F" unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
	<us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax contextRef="D2015Q3_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="0" id="Fact-FE0B83244B890B49F75A1A27E541DD75" unitRef="usd">125357000</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
	<us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-B9D977A78B1C8D6451AB1A27E5318CAA" unitRef="usd">0</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
	<us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-28CCA1CBC1F62175407F1A27E52D3F39" unitRef="usd">125357000</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
	<us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-788F0C600C81FEC6C1521A27E530A6D7" unitRef="usd">-404000</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
	<us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-0316A67EE74783F3C6EB1A27E546768A" unitRef="usd">15641000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
	<us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-013A20C00E2EE90F2C801A27E5304D12" unitRef="usd">1854000</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
	<us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-8A4B8E6A0B8B52CDEE7A1A27E547FF5B" unitRef="usd">0</us-gaap:DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax>
	<us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation contextRef="D2015Q3_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="0" id="Fact-A995E262602CE08F36CA1A27E548D9F2" unitRef="usd">47175000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
	<us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-12F967CCBA193552DFA81A27E548443C" unitRef="usd">4997000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
	<us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-21CA94D47C4AFA68C1B01A27E549FBB0" unitRef="usd">47801000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
	<us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation contextRef="FD2016Q3QTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember_us-gaap_LitigationCaseAxis_cgnx_AMETEKMatterMember_us-gaap_LitigationStatusAxis_us-gaap_SettledLitigationMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_GuaranteeObligationsMember" decimals="0" id="Fact-B15412830D0CB76DFCDD1B202EBE5E2C" unitRef="usd">-149000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
	<us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-0BAE2A647BCA4221E3A51A27E5317969" unitRef="usd">-149000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
	<us-gaap:DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="0" id="Fact-C7D9D15D990172C56C4C1A27E52D5CBC" unitRef="usd">47175000</us-gaap:DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration contextRef="I2015Q3SISDSale_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="0" id="Fact-5850AA8C5E9A88F1D3071A27E52D02BB" unitRef="usd">155655000</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-EBAE420B10FDEBA126D51A27E5487BB1" unitRef="usd">26953000</us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-D45518B55B15446C6D4D1A27E547DA23" unitRef="usd">11291000</us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-1FA9913A6F77E45EAA891A27E5306AD9" unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-FB5D92F35068FB0C669A1A27E548CB73" unitRef="usd">-170000</us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-119500EFCC9C94E260881A27E5465F7A" unitRef="usd">-177000</us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-55F4F38069747D2F41511A27E5310C92" unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-3C6F640CF7D78A8186D61A27E531EFAB" unitRef="usd">59821000</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-8D64D6A2CA19C4CEE38D1A27E546BF2C" unitRef="usd">23248000</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
	<us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-FC2CDE8E01BA0EE4962F1A27E530B7B2" unitRef="usd">0</us-gaap:DisposalGroupIncludingDiscontinuedOperationRevenue>
	<us-gaap:DividendsCommonStockCash contextRef="FD2015Q4YTD" decimals="-3" id="Fact-9A8854BAFA3DD338C9551E593D92E41B" unitRef="usd">18062000</us-gaap:DividendsCommonStockCash>
	<us-gaap:DividendsCommonStockCash contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-E14F3AAFBE042EA878131E593DA4C0A4" unitRef="usd">18062000</us-gaap:DividendsCommonStockCash>
	<us-gaap:DividendsCommonStockCash contextRef="FD2016Q4YTD" decimals="-3" id="Fact-DDE5A73FBF791A73859D1A27E5345408" unitRef="usd">25213000</us-gaap:DividendsCommonStockCash>
	<us-gaap:DividendsCommonStockCash contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-CEDD67D2FFFA04E14BA71A27E52F1384" unitRef="usd">25213000</us-gaap:DividendsCommonStockCash>
	<us-gaap:DividendsPayableAmountPerShare contextRef="I2017Q1_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" decimals="INF" id="Fact-80675EBE158CC04FF5EA1A27E529F649" unitRef="usdPerShare">0.075</us-gaap:DividendsPayableAmountPerShare>
	<us-gaap:DividendsPayableDateDeclaredDayMonthAndYear contextRef="D2017Q1_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" id="Fact-CA26FCD4336659E071E01A27E52B439B">2017-03-17</us-gaap:DividendsPayableDateDeclaredDayMonthAndYear>
	<us-gaap:DividendsPayableDateOfRecordDayMonthAndYear contextRef="D2017Q1SD_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" id="Fact-48D6464917480994B4D11A27E54621AF">2017-03-03</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
	<us-gaap:EarningsPerShareBasic contextRef="FD2014Q4YTD" decimals="2" id="Fact-F25DD38C9551058A691A1A27E5482818" unitRef="usdPerShare">1.40</us-gaap:EarningsPerShareBasic>
	<us-gaap:EarningsPerShareBasic contextRef="FD2015Q4YTD" decimals="2" id="Fact-80B127D95D656188D1031A27E543A215" unitRef="usdPerShare">2.17</us-gaap:EarningsPerShareBasic>
	<us-gaap:EarningsPerShareBasic contextRef="FD2016Q4YTD" decimals="2" id="Fact-DE99015FED1B927775D11A27E531E25B" unitRef="usdPerShare">1.75</us-gaap:EarningsPerShareBasic>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2014Q4YTD" decimals="2" id="Fact-D468CDA26A7C3D451B811A27E53BBE47" unitRef="usdPerShare">1.36</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2015Q4YTD" decimals="2" id="Fact-B6B2F15EBFA34D3035B71A27E542F5F0" unitRef="usdPerShare">2.13</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2016Q4YTD" decimals="2" id="Fact-7E716036FDE65DE1B12B1A27E54356FA" unitRef="usdPerShare">1.72</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="FD2014Q4YTD" decimals="-3" id="Fact-8F577A46958F568BC91E1A27E5442695" unitRef="usd">-1951000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
	<us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="FD2015Q4YTD" decimals="-3" id="Fact-E08427DCAEF2C17A1A661A27E54544A8" unitRef="usd">-4668000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
	<us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="FD2016Q4YTD" decimals="-3" id="Fact-826B0DFA5FC617209E181A27E5430AF9" unitRef="usd">-3352000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
	<us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="FD2014Q4YTD" decimals="2" id="Fact-C9E983CA147A339847991A27E53901E8" unitRef="number">0.16</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
	<us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="FD2015Q4YTD" decimals="2" id="Fact-65A67A3C6A3A23E0D9F41A27E548ED66" unitRef="number">0.15</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
	<us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="FD2016Q4YTD" decimals="2" id="Fact-1BCAFA97BB3CB8BDDEF31A27E52F4327" unitRef="number">0.11</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2014Q4YTD" decimals="INF" id="Fact-834E6E0A69C01415D0731A27E52B77F6" unitRef="number">0.35</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2015Q4YTD" decimals="INF" id="Fact-33BFFC1C6DB1A7DE00FE1A27E52FC1BB" unitRef="number">0.35</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2016Q4YTD" decimals="INF" id="Fact-C1BD0D71CFF48EF0C2D71A27E5435543" unitRef="number">0.35</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2016Q4YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_RevenueCommissionersIrelandMember" decimals="INF" id="Fact-9F2C48F07CE384F39D7E1AB37151F7C2" unitRef="number">0.125</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2016Q4YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_StateAdministrationOfTaxationChinaMember" decimals="INF" id="Fact-DCF76C0751BB892249831E9276459CFA" unitRef="number">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="FD2014Q4YTD" decimals="2" id="Fact-D55ABD20A811BD8A0C241A27E532B7EA" unitRef="number">-0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="FD2015Q4YTD" decimals="2" id="Fact-A83E4DF9E6EF953FDC881A27E5489740" unitRef="number">-0.02</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate contextRef="FD2016Q4YTD" decimals="2" id="Fact-86C1014CCA9417A094481A27E54505AC" unitRef="number">0.00</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="FD2014Q4YTD" decimals="2" id="Fact-C24880DCC3C6EF8E729E1A27E5471F27" unitRef="number">-0.19</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
	<us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="FD2015Q4YTD" decimals="2" id="Fact-5268E6B726881FF947521A27E542A69D" unitRef="number">-0.19</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
	<us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="FD2016Q4YTD" decimals="2" id="Fact-2AE2B96019A19838E1B31A27E53205C6" unitRef="number">-0.17</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
	<us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="FD2014Q4YTD" decimals="2" id="Fact-4BAB8AD24856C0A964C41A27E5469AE0" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
	<us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="FD2015Q4YTD" decimals="2" id="Fact-AE8DCEA70E7C9A545C091A27E540A0F6" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
	<us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="FD2016Q4YTD" decimals="2" id="Fact-D95EC07240FF8AC7822C1A27E5326A51" unitRef="number">0.00</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
	<us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="FD2014Q4YTD" decimals="2" id="Fact-BFBC9CF303730A443CC21A27E544A604" unitRef="number">0.00</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
	<us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="FD2015Q4YTD" decimals="2" id="Fact-DC143F2248447C03D8D71A27E5408671" unitRef="number">0.00</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
	<us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="FD2016Q4YTD" decimals="2" id="Fact-0C41CD0C424B307FD4841A27E5477C66" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
	<us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="FD2014Q4YTD" decimals="2" id="Fact-294D19FF64261C627F121A27E54837EF" unitRef="number">0.00</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
	<us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="FD2015Q4YTD" decimals="2" id="Fact-72E3A7163089FEDBD9D01A27E5380E08" unitRef="number">0.00</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
	<us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="FD2016Q4YTD" decimals="2" id="Fact-91F569BBF6ED5621F5D41A27E543CB6C" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
	<us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="FD2016Q4YTD" id="Fact-40AB8590F7531EFB22FA1A27E537930C">P1Y6M7D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
	<us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions contextRef="FI2016Q4" decimals="0" id="Fact-5733DDCE9AB8F584A5F51A27E5364D30" unitRef="usd">19742000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
	<us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="FD2014Q4YTD" decimals="0" id="Fact-BB1415EB661BA8EFEA5E1A27E5358222" unitRef="usd">4977000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
	<us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="FD2015Q4YTD" decimals="0" id="Fact-2E8B5FE15B5D732A36951A27E537488B" unitRef="usd">7127000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
	<us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="FD2016Q4YTD" decimals="0" id="Fact-4A6B790163A996A208941A27E5344D54" unitRef="usd">6747000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases contextRef="FD2015Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-99AD07B7ECA1F3C4E97D1A27E53AE242" unitRef="usd">3790000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases contextRef="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-1CF40AF6B028A182B1CD1A27E53AF01E" unitRef="usd">611000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases contextRef="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-CE694BD12D95E52F138C1A27E53ABEA3" unitRef="usd">1362000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements contextRef="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-86C31CCDB134AFE992B01A27E530441E" unitRef="usd">337000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue contextRef="FI2014Q4" decimals="-3" id="Fact-E1F489BFCCD3D7E498581A27E5307023" unitRef="usd">0</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue contextRef="FI2015Q4" decimals="-3" id="Fact-919DFEF94A409B1B26D61A27E53AA55A" unitRef="usd">3000000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue contextRef="FI2016Q4" decimals="-3" id="Fact-7A9CDF03A294229B8AAD1A27E53A4A15" unitRef="usd">4173000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
	<us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_us-gaap_RangeAxis_us-gaap_MaximumMember" id="Fact-6C076692139A59B432911A27E52E717F">P7Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
	<us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_us-gaap_RangeAxis_us-gaap_MinimumMember" id="Fact-2D97ABA60E23066BE44B1A27E5385FE2">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
	<us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember_us-gaap_RangeAxis_us-gaap_MaximumMember" id="Fact-14724ACB2706C3587AD41A27E52ACD55">P7Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
	<us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember_us-gaap_RangeAxis_us-gaap_MinimumMember" id="Fact-C449FFB55CA5880C0A561A27E5377E25">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
	<us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember_us-gaap_RangeAxis_us-gaap_MaximumMember" id="Fact-00F78E99CC5BF0D7379D1A27E549F369">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
	<us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="FD2016Q4YTD_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember_us-gaap_RangeAxis_us-gaap_MinimumMember" id="Fact-DB574F0C099E6F214D2D1A27E52CF260">P11Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2015Q4" decimals="-3" id="Fact-A997F5DA4F78FEF7C7321A27E52E8EDC" unitRef="usd">40965000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-70FFE1FC8BEC544B823D1A27E5429915" unitRef="usd">4749000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-D30C18D33038DAF231461A27E52E41D6" unitRef="usd">1165000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-4ED7F0EAACC05EE7E31E1A27E545A4B0" unitRef="usd">35051000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2016Q4" decimals="-3" id="Fact-A5DBF9F283C3023001DA1A27E541D1D4" unitRef="usd">44356000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-91C69AB6951580FCC9A81A27E547C8A8" unitRef="usd">4836000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-737A55553EBAB3D2D4551A27E5405E8F" unitRef="usd">2098000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-6C41CF8423E6616A28DB1A27E543C1D9" unitRef="usd">37422000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive contextRef="FI2016Q4" decimals="-3" id="Fact-B4F706374C468AF5023E1A27E53F1197" unitRef="usd">1071000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="FI2016Q4" decimals="-3" id="Fact-A8F21E347FDC8BC1FB801A27E541AE1D" unitRef="usd">2311000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="FI2016Q4" decimals="-3" id="Fact-2A5C58B97E33274669991A27E52E0078" unitRef="usd">794000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="FI2016Q4" decimals="-3" id="Fact-50E919D98EDB713499EB1A27E53F7DB6" unitRef="usd">971000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="FI2016Q4" decimals="-3" id="Fact-3E0BBF065C30E916E7301A27E54194FB" unitRef="usd">1395000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="FI2016Q4" decimals="-3" id="Fact-A1FD85A0488C9C9C0C911A27E53FE526" unitRef="usd">1770000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2015Q4" decimals="-3" id="Fact-87052F43DE147E03D7E01A27E543B34E" unitRef="usd">47280000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-6CDF9AFB0C69D27D54301A27E540E595" unitRef="usd">4880000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-43E5AA5E2410622E52E61A27E5436766" unitRef="usd">4340000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-E006AB25C7EABFD050961A27E52E5A3B" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2016Q4" decimals="-3" id="Fact-DA687A5FEC6570462B3F1A27E541190D" unitRef="usd">52668000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-C62B3DCCEB624E6939A71A27E5412A27" unitRef="usd">6605000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-FC3050BD619B44A436251A27E544EC6E" unitRef="usd">8003000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-65887225115DC20351C61A27E52E8070" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2015Q4" decimals="-3" id="Fact-4FF4C69DBCF5394CC0341A27E52C76CE" unitRef="usd">6315000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-396491C70E9A41FA48711A27E546C5ED" unitRef="usd">131000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-9420A5C5CA5976D34DFB1A27E547B421" unitRef="usd">3175000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2015Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-B42770DD7BE8309D08AF1A27E541343D" unitRef="usd">3009000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2016Q4" decimals="-3" id="Fact-91FCF5742552DB6B969A1A27E52C25D8" unitRef="usd">8312000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-95E12F68EF814274F54A1A27E5470396" unitRef="usd">1769000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-B2479C4F9D8178525B921A27E546D9A9" unitRef="usd">5905000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2016Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-FDE158724E513812A2311A27E5455827" unitRef="usd">638000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-2102ACE603DBD3C4B09B1A27E53A6608" unitRef="usd">0</us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue>
	<us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-72B57C848B638210F5431A27E53AE627" unitRef="usd">43000</us-gaap:ForeignCurrencyCashFlowHedgeAssetAtFairValue>
	<us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="0" id="Fact-EFAAC510047B30150BA71A27E53BC2B8" unitRef="usd">0</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
	<us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-3EC1D2E961DF943E1E731A27E53A33E2" unitRef="usd">1000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
	<us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-4F9B3ED514B84BD24DDA1A27E53B54DE" unitRef="usd">0</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
	<us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-21D46414C86D11B503271A27E53AA007" unitRef="usd">11000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
	<us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-F9DF8D35C4CA854A2DAB1A27E52BD1EB" unitRef="usd">1031000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
	<us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-6E14F38F02C458DB2D241A27E544DE27" unitRef="usd">1122000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
	<us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-E6DD007508F138AC5F541A27E53E0094" unitRef="usd">101000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
	<us-gaap:GainLossOnSaleOfBusiness contextRef="FD2014Q4YTD" decimals="-3" id="Fact-4CD436EF8C47296912321A27E54A9C3C" unitRef="usd">0</us-gaap:GainLossOnSaleOfBusiness>
	<us-gaap:GainLossOnSaleOfBusiness contextRef="FD2015Q4YTD" decimals="-3" id="Fact-4A09F07727D827C652C51A27E54868DC" unitRef="usd">78182000</us-gaap:GainLossOnSaleOfBusiness>
	<us-gaap:GainLossOnSaleOfBusiness contextRef="FD2016Q4YTD" decimals="-3" id="Fact-A1A2A92E349FB5D66E091A27E54A8F46" unitRef="usd">-255000</us-gaap:GainLossOnSaleOfBusiness>
	<us-gaap:GainLossOnSaleOfInvestments contextRef="FD2014Q4YTD" decimals="-3" id="Fact-8FD6E0D531472ED960FD1A27E547BFAA" unitRef="usd">673000</us-gaap:GainLossOnSaleOfInvestments>
	<us-gaap:GainLossOnSaleOfInvestments contextRef="FD2015Q4YTD" decimals="-3" id="Fact-C25FAEFECDAC143C138B1A27E5428DD2" unitRef="usd">344000</us-gaap:GainLossOnSaleOfInvestments>
	<us-gaap:GainLossOnSaleOfInvestments contextRef="FD2016Q4YTD" decimals="-3" id="Fact-0E3751462EA52B9E1FC41A27E547E94C" unitRef="usd">1506000</us-gaap:GainLossOnSaleOfInvestments>
	<us-gaap:Goodwill contextRef="FI2014Q4" decimals="-3" id="Fact-FAF29D3532B35730F70E1A27E53F275B" unitRef="usd">77388000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="FI2015Q4" decimals="-3" id="Fact-5F53661290B4BB4647191A27E52CC078" unitRef="usd">81448000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="FI2016Q4" decimals="-3" id="Fact-63B1154CC4471C08B0931A27E52CBBF8" unitRef="usd">95280000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="I2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-095EA5B18FD3B01138CA1A27E52D7C1F" unitRef="usd">4060000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="I2015Q3SISDSale_us-gaap_StatementBusinessSegmentsAxis_cgnx_SisdMember" decimals="0" id="Fact-46228086C6CD1CA9CFFD1A27E5397E05" unitRef="usd">4301000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="I2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member" decimals="-3" id="Fact-CB95B915C1CA13A1709A1B82C3731CE1" unitRef="usd">1383000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="I2016Q3Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-72D0945A5C9AB00AE6201B738C24E808" unitRef="usd">8613000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="I2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member" decimals="-3" id="Fact-FAF6FA816CE7E946ED6E1B46C2863B08" unitRef="usd">925000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="I2016Q4Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-B68FB503FE5BD8985D971B58706BB169" unitRef="usd">2911000</us-gaap:Goodwill>
	<us-gaap:GoodwillAcquiredDuringPeriod contextRef="FD2015Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-171AD0595656285EA3FB1A27E53F52AE" unitRef="usd">4060000</us-gaap:GoodwillAcquiredDuringPeriod>
	<us-gaap:GoodwillAcquiredDuringPeriod contextRef="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member" decimals="-3" id="Fact-E9D046F946D46A716EBC1A27E53F49CF" unitRef="usd">1383000</us-gaap:GoodwillAcquiredDuringPeriod>
	<us-gaap:GoodwillAcquiredDuringPeriod contextRef="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-3C1C8D9B403D5C89447B1A27E53F4253" unitRef="usd">2911000</us-gaap:GoodwillAcquiredDuringPeriod>
	<us-gaap:GoodwillAcquiredDuringPeriod contextRef="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-1499525ABDDAE667B5791A27E53D9BA6" unitRef="usd">8613000</us-gaap:GoodwillAcquiredDuringPeriod>
	<us-gaap:GoodwillAcquiredDuringPeriod contextRef="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member" decimals="-3" id="Fact-37223A425ABADF3D336B1A27E53EA253" unitRef="usd">925000</us-gaap:GoodwillAcquiredDuringPeriod>
	<us-gaap:GrossProfit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-BE5977D16FF8BE7D8EC51A27E54303EA" unitRef="usd">332382000</us-gaap:GrossProfit>
	<us-gaap:GrossProfit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-DA4134D48941D4616B731A27E536A843" unitRef="usd">347986000</us-gaap:GrossProfit>
	<us-gaap:GrossProfit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-8F93171F663628A3D7311A27E5449226" unitRef="usd">405163000</us-gaap:GrossProfit>
	<us-gaap:IncomeLossFromContinuingOperations contextRef="FD2014Q4YTD" decimals="-3" id="Fact-4BAFCC24E0C5A20A1A7C1A27E544A051" unitRef="usd">110841000</us-gaap:IncomeLossFromContinuingOperations>
	<us-gaap:IncomeLossFromContinuingOperations contextRef="FD2015Q4YTD" decimals="-3" id="Fact-A07D7EBF4897EB524A001A27E5416224" unitRef="usd">107664000</us-gaap:IncomeLossFromContinuingOperations>
	<us-gaap:IncomeLossFromContinuingOperations contextRef="FD2016Q4YTD" decimals="-3" id="Fact-5663FF8F215D054EC9A91A27E533629E" unitRef="usd">149827000</us-gaap:IncomeLossFromContinuingOperations>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="FD2014Q4YTD" decimals="0" id="Fact-3A813B65D20DC9C979601A27E539FE37" unitRef="usd">25585000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="FD2015Q4YTD" decimals="0" id="Fact-4D1B0DBB789334B736491A27E5430D0D" unitRef="usd">11637000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="FD2016Q4YTD" decimals="0" id="Fact-B15EC8AF5632F1A7D6601A27E545E9D2" unitRef="usd">23939000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="FD2014Q4YTD" decimals="0" id="Fact-F60C62681601867DBDD61A27E52D73DB" unitRef="usd">106171000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="FD2015Q4YTD" decimals="0" id="Fact-449B4B7535F34272954F1A27E5328BD2" unitRef="usd">115325000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="FD2016Q4YTD" decimals="0" id="Fact-7AA831B0704CBDA7F9571A27E5451751" unitRef="usd">144856000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2014Q4YTD" decimals="-3" id="Fact-9478A7A38C3AA0DDE2CF1A27E543BBBC" unitRef="usd">131756000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2015Q4YTD" decimals="-3" id="Fact-6F1D423B34A4467D13541A27E53A28C7" unitRef="usd">126962000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2016Q4YTD" decimals="-3" id="Fact-2B8C4D1C8DE4BC7903441A27E543D564" unitRef="usd">168795000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsPerBasicShare contextRef="FD2014Q4YTD" decimals="2" id="Fact-D764C5071777F21806651A27E54486D7" unitRef="usdPerShare">1.28</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
	<us-gaap:IncomeLossFromContinuingOperationsPerBasicShare contextRef="FD2015Q4YTD" decimals="2" id="Fact-D5C505F18B1C5B578B891A27E5429747" unitRef="usdPerShare">1.25</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
	<us-gaap:IncomeLossFromContinuingOperationsPerBasicShare contextRef="FD2016Q4YTD" decimals="2" id="Fact-6307C1C42D8DCA9DE8041A27E543813D" unitRef="usdPerShare">1.76</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
	<us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="FD2014Q4YTD" decimals="2" id="Fact-D1E1C17B517F997F12E71A27E5451145" unitRef="usdPerShare">1.24</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
	<us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="FD2015Q4YTD" decimals="2" id="Fact-767993D960E69DFB74181A27E544CACA" unitRef="usdPerShare">1.22</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
	<us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="FD2016Q4YTD" decimals="2" id="Fact-881F0AE4F46C4A85CB511A27E52E7E8F" unitRef="usdPerShare">1.72</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="FD2014Q4YTD" decimals="-3" id="Fact-8FCD5C4A3C0FC209A1AA1A27E5387BB2" unitRef="usd">10644000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="FD2014Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-74F50FA1BC854F1CF3DF1A27E531E904" unitRef="usd">10644000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="FD2015Q4YTD" decimals="-3" id="Fact-EB7A5CADBC642FF349401A27E52EB69B" unitRef="usd">79410000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="FD2015Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-CDE6C2E8D18EC71D146B1A27E5311BE7" unitRef="usd">79410000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="FD2016Q3QTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember_us-gaap_LitigationCaseAxis_cgnx_AMETEKMatterMember_us-gaap_LitigationStatusAxis_us-gaap_SettledLitigationMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_GuaranteeObligationsMember" decimals="0" id="Fact-D416873E64D28ED83F0E1B1CA45DFD5D" unitRef="usd">-255000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="FD2016Q4YTD" decimals="-3" id="Fact-8AEAA88ACBAF115AC9D71A27E539799F" unitRef="usd">-255000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity contextRef="FD2016Q4YTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember" decimals="-3" id="Fact-3CF1FB83A7B58917329B1A27E530836A" unitRef="usd">-255000</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare contextRef="FD2014Q4YTD" decimals="2" id="Fact-320BA5733A3ADC380D121A27E5458FFF" unitRef="usdPerShare">0.12</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare contextRef="FD2015Q4YTD" decimals="2" id="Fact-BDD8A6F97674EC1DE7841A27E539DEE4" unitRef="usdPerShare">0.92</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare contextRef="FD2016Q4YTD" decimals="2" id="Fact-B5E5F53448FA670062201A27E5306183" unitRef="usdPerShare">-0.01</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare contextRef="FD2014Q4YTD" decimals="2" id="Fact-F4F990564E37E07444481A27E545B732" unitRef="usdPerShare">0.12</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare contextRef="FD2015Q4YTD" decimals="2" id="Fact-C47FC2880B2B22DA66971A27E544E477" unitRef="usdPerShare">0.91</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
	<us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare contextRef="FD2016Q4YTD" decimals="2" id="Fact-310EACABBDAE85A607A81A27E539081D" unitRef="usdPerShare">0.00</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2014Q4YTD" decimals="-3" id="Fact-A2260696021124B39E141A27E52E401C" unitRef="usd">20915000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2015Q4YTD" decimals="-3" id="Fact-1920054EB22FB1EAC4F11A27E53167B4" unitRef="usd">19298000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2016Q4YTD" decimals="-3" id="Fact-3E04821DCBD9249920A91A27E544C324" unitRef="usd">18968000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncomeTaxesPaidNet contextRef="FD2014Q4YTD" decimals="0" id="Fact-C2D976CB0D0BA063FBED1A27E547F10F" unitRef="usd">17549000</us-gaap:IncomeTaxesPaidNet>
	<us-gaap:IncomeTaxesPaidNet contextRef="FD2015Q4YTD" decimals="0" id="Fact-E6FA411C39A12F1854931A27E541D0F1" unitRef="usd">58280000</us-gaap:IncomeTaxesPaidNet>
	<us-gaap:IncomeTaxesPaidNet contextRef="FD2016Q4YTD" decimals="0" id="Fact-F53824A013A818EC0EAD1A27E5431DE9" unitRef="usd">20748000</us-gaap:IncomeTaxesPaidNet>
	<us-gaap:IncreaseDecreaseInAccountsPayable contextRef="FD2014Q4YTD" decimals="-3" id="Fact-CB5E86A24598E5ADD5561A27E53F14A5" unitRef="usd">10896000</us-gaap:IncreaseDecreaseInAccountsPayable>
	<us-gaap:IncreaseDecreaseInAccountsPayable contextRef="FD2015Q4YTD" decimals="-3" id="Fact-EB0E6C47A2CD6C5879CA1A27E543B6D7" unitRef="usd">-8872000</us-gaap:IncreaseDecreaseInAccountsPayable>
	<us-gaap:IncreaseDecreaseInAccountsPayable contextRef="FD2016Q4YTD" decimals="-3" id="Fact-2AF452B307D4B92D24551A27E5431712" unitRef="usd">2087000</us-gaap:IncreaseDecreaseInAccountsPayable>
	<us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="FD2014Q4YTD" decimals="-3" id="Fact-283C5F9F3C14C205DB3A1A27E54780F7" unitRef="usd">915000</us-gaap:IncreaseDecreaseInAccountsReceivable>
	<us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="FD2015Q4YTD" decimals="-3" id="Fact-40889FEFB5B7379E70041A27E54AB5D0" unitRef="usd">3950000</us-gaap:IncreaseDecreaseInAccountsReceivable>
	<us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="FD2016Q4YTD" decimals="-3" id="Fact-698964F059E7E12D150C1A27E54541AE" unitRef="usd">13251000</us-gaap:IncreaseDecreaseInAccountsReceivable>
	<us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable contextRef="FD2014Q4YTD" decimals="-3" id="Fact-14485F4861CAFB7333361A27E54712E8" unitRef="usd">7700000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
	<us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable contextRef="FD2015Q4YTD" decimals="-3" id="Fact-16A518A165BF890F28001A27E54AEB66" unitRef="usd">9957000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
	<us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable contextRef="FD2016Q4YTD" decimals="-3" id="Fact-6B6E07D934448CAD5D8E1A27E54507B3" unitRef="usd">2110000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
	<us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="FD2014Q4YTD" decimals="-3" id="Fact-81F76282EA3D1A311FDB1A27E547BDEF" unitRef="usd">7812000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
	<us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="FD2015Q4YTD" decimals="-3" id="Fact-981800143B1BA1F2EA241A27E5439663" unitRef="usd">-2831000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
	<us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="FD2016Q4YTD" decimals="-3" id="Fact-7A34BCA91F026293C0111A27E5461B7B" unitRef="usd">7771000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
	<us-gaap:IncreaseDecreaseInDeferredIncomeTaxes contextRef="FD2014Q4YTD" decimals="-3" id="Fact-970A4A12470E0889B7E91A27E54518F7" unitRef="usd">2364000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
	<us-gaap:IncreaseDecreaseInDeferredIncomeTaxes contextRef="FD2015Q4YTD" decimals="-3" id="Fact-5D7825B21536D15458DC1A27E5486BC5" unitRef="usd">1409000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
	<us-gaap:IncreaseDecreaseInDeferredIncomeTaxes contextRef="FD2016Q4YTD" decimals="-3" id="Fact-B2F62A46BB050EE8CD231A27E543638B" unitRef="usd">1908000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
	<us-gaap:IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits contextRef="FD2014Q4YTD" decimals="-3" id="Fact-E53DD3B59A1CEE1E517D1E541B2EBE78" unitRef="usd">5893000</us-gaap:IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits>
	<us-gaap:IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits contextRef="FD2015Q4YTD" decimals="-3" id="Fact-B3B823A5EDA7984208C21E541B31C33D" unitRef="usd">1527000</us-gaap:IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits>
	<us-gaap:IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits contextRef="FD2016Q4YTD" decimals="-3" id="Fact-07A77A28B1AEA5ABC8141E541B2ADE3D" unitRef="usd">-3188000</us-gaap:IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits>
	<us-gaap:IncreaseDecreaseInInventories contextRef="FD2014Q4YTD" decimals="-3" id="Fact-7FD4FB7AFB7978F2D3F81A27E54307BC" unitRef="usd">11750000</us-gaap:IncreaseDecreaseInInventories>
	<us-gaap:IncreaseDecreaseInInventories contextRef="FD2015Q4YTD" decimals="-3" id="Fact-2C7366EE557CEAE493161A27E546CD81" unitRef="usd">9457000</us-gaap:IncreaseDecreaseInInventories>
	<us-gaap:IncreaseDecreaseInInventories contextRef="FD2016Q4YTD" decimals="-3" id="Fact-B8FB37BFB9D9507E00571A27E54497E5" unitRef="usd">-10409000</us-gaap:IncreaseDecreaseInInventories>
	<us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="FD2014Q4YTD" decimals="-3" id="Fact-E35A07C75AAAE3EDD1691A27E548D161" unitRef="usd">3128000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
	<us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="FD2015Q4YTD" decimals="-3" id="Fact-3BF8D38E38B2841647691A27E5452F5B" unitRef="usd">-870000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
	<us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="FD2016Q4YTD" decimals="-3" id="Fact-D1DE15A658069216785F1A27E53F28CA" unitRef="usd">3509000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
	<us-gaap:IncreaseDecreaseInUnbilledReceivables contextRef="FD2014Q4YTD" decimals="-3" id="Fact-9AD0E0EF8091C9C4D86D1E5378260DD5" unitRef="usd">563000</us-gaap:IncreaseDecreaseInUnbilledReceivables>
	<us-gaap:IncreaseDecreaseInUnbilledReceivables contextRef="FD2015Q4YTD" decimals="-3" id="Fact-0CB5132A38A223EE49D31E53781FDB8E" unitRef="usd">242000</us-gaap:IncreaseDecreaseInUnbilledReceivables>
	<us-gaap:IncreaseDecreaseInUnbilledReceivables contextRef="FD2016Q4YTD" decimals="-3" id="Fact-57A9C674FAD5EEDE20931E5378229D75" unitRef="usd">2308000</us-gaap:IncreaseDecreaseInUnbilledReceivables>
	<us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="FI2015Q4" decimals="-3" id="Fact-E75A8AEBF79F0720BE721A27E53CB7E4" unitRef="usd">6897000</us-gaap:InventoryFinishedGoodsNetOfReserves>
	<us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="FI2016Q4" decimals="-3" id="Fact-72A8E80864580AA9CB9D1A27E52D1B1B" unitRef="usd">6000000</us-gaap:InventoryFinishedGoodsNetOfReserves>
	<us-gaap:InventoryNet contextRef="FI2015Q4" decimals="-3" id="Fact-BF642D1B082ADD7333141A27E52D521D" unitRef="usd">37334000</us-gaap:InventoryNet>
	<us-gaap:InventoryNet contextRef="FI2016Q4" decimals="-3" id="Fact-C44FF7FDAE6B8AC6292A1A27E52DC808" unitRef="usd">26984000</us-gaap:InventoryNet>
	<us-gaap:InventoryRawMaterialsNetOfReserves contextRef="FI2015Q4" decimals="-3" id="Fact-68FE54B0E60CB514C0E81A27E546FB2A" unitRef="usd">27301000</us-gaap:InventoryRawMaterialsNetOfReserves>
	<us-gaap:InventoryRawMaterialsNetOfReserves contextRef="FI2016Q4" decimals="-3" id="Fact-2B33B7D632751560187D1A27E53DBF79" unitRef="usd">18224000</us-gaap:InventoryRawMaterialsNetOfReserves>
	<us-gaap:InventoryWorkInProcessNetOfReserves contextRef="FI2015Q4" decimals="-3" id="Fact-299FA62FB7A5A2A8A9231A27E5312275" unitRef="usd">3136000</us-gaap:InventoryWorkInProcessNetOfReserves>
	<us-gaap:InventoryWorkInProcessNetOfReserves contextRef="FI2016Q4" decimals="-3" id="Fact-77CEBE8062A3A10BE85D1A27E53D238E" unitRef="usd">2760000</us-gaap:InventoryWorkInProcessNetOfReserves>
	<us-gaap:InvestmentIncomeNonoperating contextRef="FD2014Q4YTD" decimals="-3" id="Fact-09D519AC089F06EC8F0F1A27E5440BC6" unitRef="usd">3156000</us-gaap:InvestmentIncomeNonoperating>
	<us-gaap:InvestmentIncomeNonoperating contextRef="FD2015Q4YTD" decimals="-3" id="Fact-689CBDD121FE652B82721A27E54100B3" unitRef="usd">3674000</us-gaap:InvestmentIncomeNonoperating>
	<us-gaap:InvestmentIncomeNonoperating contextRef="FD2016Q4YTD" decimals="-3" id="Fact-EDBFE990D36C36749B2D1A27E52D1668" unitRef="usd">7039000</us-gaap:InvestmentIncomeNonoperating>
	<us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure contextRef="FI2016Q4_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsNonrecurringMember" decimals="INF" id="Fact-EDBD5C0DA135B5103CC81A9F2D8EC988" unitRef="usd">0</us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure>
	<us-gaap:LegalFees contextRef="FD2016Q3QTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember_us-gaap_LitigationCaseAxis_cgnx_AMETEKMatterMember_us-gaap_LitigationStatusAxis_us-gaap_SettledLitigationMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_GuaranteeObligationsMember" decimals="0" id="Fact-EFB61CF2916F4FC19DB91B1FE1DB562B" unitRef="usd">123000</us-gaap:LegalFees>
	<us-gaap:Liabilities contextRef="FI2015Q4" decimals="-3" id="Fact-C9FAE4E954CC81816CB81A27E54220DA" unitRef="usd">62089000</us-gaap:Liabilities>
	<us-gaap:Liabilities contextRef="FI2016Q4" decimals="-3" id="Fact-7F9F47015518834CD7DD1A27E52BB9F6" unitRef="usd">76005000</us-gaap:Liabilities>
	<us-gaap:LiabilitiesAndStockholdersEquity contextRef="FI2015Q4" decimals="-3" id="Fact-7A082B99F955D691FD501A27E53C1EEA" unitRef="usd">887756000</us-gaap:LiabilitiesAndStockholdersEquity>
	<us-gaap:LiabilitiesAndStockholdersEquity contextRef="FI2016Q4" decimals="-3" id="Fact-9F464599BE0D43CDDBE01A27E53D0571" unitRef="usd">1038604000</us-gaap:LiabilitiesAndStockholdersEquity>
	<us-gaap:LiabilitiesCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-47FFC31CBFF68F165C931A27E545FD6D" unitRef="usd">53688000</us-gaap:LiabilitiesCurrent>
	<us-gaap:LiabilitiesCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-918B75D4F84029ABCE251A27E5436543" unitRef="usd">65773000</us-gaap:LiabilitiesCurrent>
	<us-gaap:LiabilitiesFairValueAdjustment contextRef="FD2015Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-9B1B32E1A1DD9457EBD81A27E53A6984" unitRef="usd">-790000</us-gaap:LiabilitiesFairValueAdjustment>
	<us-gaap:LiabilitiesFairValueAdjustment contextRef="FD2016Q4YTD" decimals="-3" id="Fact-1F87E0E2D9EDD50E7AF01A27E53BCD40" unitRef="usd">-463000</us-gaap:LiabilitiesFairValueAdjustment>
	<us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="FI2015Q4" decimals="-3" id="Fact-840A4F949493D70A69A61A27E5320CB4" unitRef="usd">4830000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
	<us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="FI2015Q4" decimals="0" id="Fact-87BABD308917B78F65A91A27E5374E45" unitRef="usd">4830000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
	<us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="FI2016Q4" decimals="-3" id="Fact-43D6C60B4FF20DA5F6D61A27E52B1E37" unitRef="usd">5361000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
	<us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="FI2016Q4" decimals="0" id="Fact-F4AC4B87B1A5B2F542101A27E5457F86" unitRef="usd">5361000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
	<us-gaap:LitigationSettlementAmount contextRef="FD2016Q3QTD_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_cgnx_SisdMember_us-gaap_LitigationCaseAxis_cgnx_AMETEKMatterMember_us-gaap_LitigationStatusAxis_us-gaap_SettledLitigationMember_us-gaap_LossContingenciesByNatureOfContingencyAxis_us-gaap_GuaranteeObligationsMember" decimals="0" id="Fact-B90BDA9AB913650AD7BD1E8F43C2603E" unitRef="usd">-281000</us-gaap:LitigationSettlementAmount>
	<us-gaap:LongTermInvestments contextRef="FI2015Q4" decimals="-3" id="Fact-A2ADF92E77B6B9DA02581A27E52B336D" unitRef="usd">273088000</us-gaap:LongTermInvestments>
	<us-gaap:LongTermInvestments contextRef="FI2016Q4" decimals="-3" id="Fact-5771CA1C1747775363B61A27E52D83A3" unitRef="usd">324335000</us-gaap:LongTermInvestments>
	<us-gaap:MaximumLengthOfTimeHedgedInCashFlowHedge1 contextRef="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" id="Fact-8BE67366E37F5349CB4A1A27E52B14F8">P18M</us-gaap:MaximumLengthOfTimeHedgedInCashFlowHedge1>
	<us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1 contextRef="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" id="Fact-AB1AB33210C3098A32D71A27E52B4EF0">P45D</us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2015Q4" decimals="-3" id="Fact-70D34CF9D9FF1A57EE761A27E53FD3AC" unitRef="usd">6024000</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2016Q4" decimals="-3" id="Fact-A166205518574AE1EECE1A27E53CB158" unitRef="usd">2334000</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="FD2014Q4YTD" decimals="-3" id="Fact-1D30369BA1859EA96D2D1A27E5442D90" unitRef="usd">-42743000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
	<us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="FD2014Q4YTD_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember" decimals="0" id="Fact-95490568E6F580111D7B1AD7E8070FEE" unitRef="usd">-7871000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
	<us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="FD2015Q4YTD" decimals="-3" id="Fact-D79B881996ABD7640E2A1A27E5400814" unitRef="usd">-116831000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
	<us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="FD2015Q4YTD_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember" decimals="0" id="Fact-156A99B9081717201BE81AD7E805FCDB" unitRef="usd">-9964000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
	<us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="FD2016Q4YTD" decimals="-3" id="Fact-30102365B67ED3A0EABC1A27E543E62E" unitRef="usd">-29231000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
	<us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="FD2014Q4YTD" decimals="-3" id="Fact-CAB48EA48BA26AF028601A27E54401BE" unitRef="usd">-104097000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
	<us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="FD2015Q4YTD" decimals="-3" id="Fact-38C292D97EDF430344051A27E54030BD" unitRef="usd">-10547000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
	<us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="FD2016Q4YTD" decimals="-3" id="Fact-F2FA6461B8C64D59F4B81A27E54A7553" unitRef="usd">-121832000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
	<us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="FD2014Q4YTD" decimals="-3" id="Fact-9A5079C474F4DF8468051A27E548761D" unitRef="usd">163841000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
	<us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="FD2014Q4YTD_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember" decimals="0" id="Fact-B754544078A6E4E1D7D61AD4F9D92A29" unitRef="usd">7871000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
	<us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="FD2015Q4YTD" decimals="-3" id="Fact-0DE0A6D320E8C91787971A27E547DB43" unitRef="usd">128327000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
	<us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="FD2015Q4YTD_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember" decimals="0" id="Fact-CAEF026F827AE5D4DC751AD4F9E1D7A0" unitRef="usd">9964000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
	<us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="FD2016Q4YTD" decimals="-3" id="Fact-1899616F217FD30407A91A27E544CEE6" unitRef="usd">182081000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
	<us-gaap:NetIncomeLoss contextRef="FD2014Q4YTD" decimals="-3" id="Fact-DEF38B5B3DD87DC671691A27E53C24DB" unitRef="usd">121485000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-5D74E8B76B45AB30C39E1E5616B57913" unitRef="usd">121485000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2015Q4YTD" decimals="-3" id="Fact-A06B37A7272C994C6FB51A27E5362079" unitRef="usd">187074000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-5D5FF9FFCEBE253F1B3A1A27E5406882" unitRef="usd">187074000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2016Q4YTD" decimals="-3" id="Fact-BFF848BDA4BD496693D41A27E549D6DD" unitRef="usd">149572000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-D7C165CB7042C37791AA1A27E5335646" unitRef="usd">149572000</us-gaap:NetIncomeLoss>
	<us-gaap:NoncurrentAssets contextRef="FI2014Q4" decimals="-3" id="Fact-68E558659C12FE39A8151A27E547201A" unitRef="usd">47468000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2014Q4_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember" decimals="-3" id="Fact-164A6BF42764C3CD6BA81A27E52B1911" unitRef="usd">858000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2014Q4_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember" decimals="-3" id="Fact-477743502F4C3F57AC2E1A27E52BF65E" unitRef="usd">1919000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2014Q4_us-gaap_StatementGeographicalAxis_country_US" decimals="-3" id="Fact-7762CD30EA9D8CC91D2C1A27E53178CE" unitRef="usd">33750000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2014Q4_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember" decimals="-3" id="Fact-71CB1B308AB725D407921A27E5390EDE" unitRef="usd">10941000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2015Q4" decimals="-3" id="Fact-A03BF96D04E66383764A1A27E5470923" unitRef="usd">55894000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2015Q4_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember" decimals="-3" id="Fact-29F5E383EEB93D28E3281A27E54A4097" unitRef="usd">873000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2015Q4_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember" decimals="-3" id="Fact-876A4100FF90F04AE89B1A27E5328C65" unitRef="usd">1781000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2015Q4_us-gaap_StatementGeographicalAxis_country_US" decimals="-3" id="Fact-6752F258DC1D689BA4041A27E5464E3A" unitRef="usd">40742000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2015Q4_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember" decimals="-3" id="Fact-D19424196E34866EED4A1A27E54667A8" unitRef="usd">12498000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2016Q4" decimals="-3" id="Fact-D61E2ED952676D475B601A27E532E16F" unitRef="usd">56311000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2016Q4_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember" decimals="-3" id="Fact-DA63749F84B7E2BC01BA1A27E546527C" unitRef="usd">994000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2016Q4_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember" decimals="-3" id="Fact-042C01C71EC3903169621A27E52B1BD3" unitRef="usd">1932000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2016Q4_us-gaap_StatementGeographicalAxis_country_US" decimals="-3" id="Fact-711CB6A750A64E2536A81A27E52AB6EC" unitRef="usd">40404000</us-gaap:NoncurrentAssets>
	<us-gaap:NoncurrentAssets contextRef="FI2016Q4_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember" decimals="-3" id="Fact-B922263769B5C304737F1A27E52C7D03" unitRef="usd">12981000</us-gaap:NoncurrentAssets>
	<us-gaap:NumberOfBusinessesAcquired contextRef="FD2015Q4YTD" decimals="INF" id="Fact-CBCF74BA792BCFA13F451B3613DE11ED" unitRef="acquisition">1</us-gaap:NumberOfBusinessesAcquired>
	<us-gaap:NumberOfBusinessesAcquired contextRef="FD2016Q4YTD" decimals="INF" id="Fact-3DB2038DE0B46062E0961B3613E8F7E6" unitRef="acquisition">4</us-gaap:NumberOfBusinessesAcquired>
	<us-gaap:NumberOfReportableSegments contextRef="FD2015Q4YTD" decimals="INF" id="Fact-6BC296D07FB22EF1619D3F0D8B68341C" unitRef="Segment">1</us-gaap:NumberOfReportableSegments>
	<us-gaap:NumberOfReportableSegments contextRef="FD2016Q2YTD_us-gaap_StatementBusinessSegmentsAxis_cgnx_PreviousCompanySegmentsMember" decimals="INF" id="Fact-03BF480A3E4E389F1EB91A27E52EB610" unitRef="Segment">2</us-gaap:NumberOfReportableSegments>
	<us-gaap:NumberOfReportableSegments contextRef="FD2016Q4YTD" decimals="INF" id="Fact-B0D2FC3E08F8A1F507801A27E52BC15F" unitRef="Segment">1</us-gaap:NumberOfReportableSegments>
	<us-gaap:OperatingIncomeLoss contextRef="FD2014Q4YTD" decimals="-3" id="Fact-91C322457CCB3A84CB7C1A27E549E1F8" unitRef="usd">127852000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2015Q4YTD" decimals="-3" id="Fact-DD8DEE40BB4E80157C3F1A27E5338B72" unitRef="usd">121521000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2016Q4YTD" decimals="-3" id="Fact-AEB495774C809766C3571A27E5387572" unitRef="usd">160784000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsDue contextRef="FI2016Q4" decimals="-3" id="Fact-C7A40A4D3B50BB19B0C21A27E52EEB19" unitRef="usd">15607000</us-gaap:OperatingLeasesFutureMinimumPaymentsDue>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-3E9DD302D9D00FABC08D1A27E53914C9" unitRef="usd">5054000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears contextRef="FI2016Q4" decimals="-3" id="Fact-989E3DA6FBBBA9B77D761A27E536BAD0" unitRef="usd">1735000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears contextRef="FI2016Q4" decimals="-3" id="Fact-BF4C546408EAB6D2D1741A27E52FA294" unitRef="usd">1853000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears contextRef="FI2016Q4" decimals="-3" id="Fact-D1052EADE53A0017B38D1A27E5331F05" unitRef="usd">2164000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears contextRef="FI2016Q4" decimals="-3" id="Fact-E9ECBD88CAB0EC403F271A27E54057C4" unitRef="usd">3303000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter contextRef="FI2016Q4" decimals="-3" id="Fact-54BB7DD63F097CB925D11A27E539C197" unitRef="usd">1498000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsReceivable contextRef="FI2016Q4" decimals="-3" id="Fact-4DEBBAACF698908F82891A27E5413A2B" unitRef="usd">2629000</us-gaap:OperatingLeasesFutureMinimumPaymentsReceivable>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-FB8178CB569681AD20291A27E53F4477" unitRef="usd">812000</us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableCurrent>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears contextRef="FI2016Q4" decimals="-3" id="Fact-A164DDF4749EFA993C581A27E532FDE0" unitRef="usd">187000</us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableInFourYears contextRef="FI2016Q4" decimals="-3" id="Fact-3ABB19562648412658951A27E52FA2F7" unitRef="usd">557000</us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableInFourYears>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears contextRef="FI2016Q4" decimals="-3" id="Fact-4BF3BE8A0E768A9081171A27E533219D" unitRef="usd">543000</us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears contextRef="FI2016Q4" decimals="-3" id="Fact-AF648C6E56176427700D1A27E53F97F7" unitRef="usd">530000</us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears>
	<us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableThereafter contextRef="FI2016Q4" decimals="-3" id="Fact-D4A3C7932D77CDD116D61A27E5404C49" unitRef="usd">0</us-gaap:OperatingLeasesFutureMinimumPaymentsReceivableThereafter>
	<us-gaap:OperatingLeasesIncomeStatementLeaseRevenue contextRef="FD2014Q4YTD" decimals="0" id="Fact-73860BD8381C8BB5A4481A27E5339FF9" unitRef="usd">1794000</us-gaap:OperatingLeasesIncomeStatementLeaseRevenue>
	<us-gaap:OperatingLeasesIncomeStatementLeaseRevenue contextRef="FD2015Q4YTD" decimals="0" id="Fact-AEBF91F58E54A6EC5E7B1A27E52A5867" unitRef="usd">1921000</us-gaap:OperatingLeasesIncomeStatementLeaseRevenue>
	<us-gaap:OperatingLeasesIncomeStatementLeaseRevenue contextRef="FD2016Q4YTD" decimals="0" id="Fact-8BCED159D84C6D9E78A81A27E54442F2" unitRef="usd">1911000</us-gaap:OperatingLeasesIncomeStatementLeaseRevenue>
	<us-gaap:OperatingLeasesRentExpenseNet contextRef="FD2014Q4YTD" decimals="0" id="Fact-C4E4EFD0DDC30E8B937F1A27E541A95B" unitRef="usd">5560000</us-gaap:OperatingLeasesRentExpenseNet>
	<us-gaap:OperatingLeasesRentExpenseNet contextRef="FD2015Q4YTD" decimals="0" id="Fact-23115CFEF9E4B41C17CC1A27E5329051" unitRef="usd">5778000</us-gaap:OperatingLeasesRentExpenseNet>
	<us-gaap:OperatingLeasesRentExpenseNet contextRef="FD2016Q4YTD" decimals="0" id="Fact-C24888D0BD02EA96C7B01A27E5325E6A" unitRef="usd">6090000</us-gaap:OperatingLeasesRentExpenseNet>
	<us-gaap:OtherAccruedLiabilitiesCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-7BCA85E81EB52260B1271A27E54592DB" unitRef="usd">11613000</us-gaap:OtherAccruedLiabilitiesCurrent>
	<us-gaap:OtherAccruedLiabilitiesCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-09536190B4E048B31DA11A27E531EB79" unitRef="usd">11301000</us-gaap:OtherAccruedLiabilitiesCurrent>
	<us-gaap:OtherAssetsNoncurrent contextRef="FI2015Q4" decimals="-3" id="Fact-4F31D7E133FA42043A5F1A27E52A11F2" unitRef="usd">2609000</us-gaap:OtherAssetsNoncurrent>
	<us-gaap:OtherAssetsNoncurrent contextRef="FI2016Q4" decimals="-3" id="Fact-181C5A55AA86FB985C391A27E5455846" unitRef="usd">2319000</us-gaap:OtherAssetsNoncurrent>
	<us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2014Q4YTD" decimals="-3" id="Fact-4D563C1AAEF59D988F101A27E53D367F" unitRef="usd">-94000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2015Q4YTD" decimals="-3" id="Fact-60C124B43B02E6FC646F1A27E52F46ED" unitRef="usd">-1283000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2016Q4YTD" decimals="-3" id="Fact-501681B95D1281B3DF851A27E52D428E" unitRef="usd">1481000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2014Q4YTD" decimals="-3" id="Fact-4190B89E0463AB0B40E11A27E52E6E60" unitRef="usd">-9400000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2015Q4YTD" decimals="-3" id="Fact-316DDE58FFE17E408DB41A27E542542D" unitRef="usd">-11616000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2016Q4YTD" decimals="-3" id="Fact-E84BABBE56161638D6401A27E52F5F58" unitRef="usd">-5616000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-C486CDA831594D27D34F1A27E52C211E" unitRef="usd">-870000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-B2ED61B288FC013DAE131A27E52D833B" unitRef="usd">-711000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-570D1B0ADA73EAA4B7721A27E52C31C6" unitRef="usd">-228000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-5A4D983AB4F07CE201F61A27E52FDC83" unitRef="usd">579000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-6BFCF7828E6A44E67FC81A27E533FD7F" unitRef="usd">579000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-BDD03630EB334216CFAC1A27E53BEC0C" unitRef="usd">-939000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-38EB1F197C64594AF7F31A27E53A8DE4" unitRef="usd">-939000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-9DE4B4FE08847B21C5B71A27E52EE8C4" unitRef="usd">1672000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-52EAE7BFE5D8F95BE5EB1A27E548C73D" unitRef="usd">1672000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-92DC7B2364A9739B61351A27E53EF312" unitRef="usd">-72000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-EDF8F3351C4869693C791A27E53143C8" unitRef="usd">174000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-436E8E5DB0D6FF1F60341A27E52BDBA4" unitRef="usd">-169000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-3CB80BAE86E5B65667DD1A27E52DCCF9" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-3E8F29A5CED4042FD1D61A27E52CD988" unitRef="usd">22000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-885B81E88E4B46DF86F91A27E52C660E" unitRef="usd">-22000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-D7CB9EADD803F2D6614B1A27E5424D51" unitRef="usd">-9400000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-D1F83465A1393B921F891A27E5356519" unitRef="usd">-9400000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-30226A6580EB912AA7141A27E53F4C02" unitRef="usd">-11616000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-BF5EA86453E1CD19EF931A27E5350EA1" unitRef="usd">-11616000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-10C05319063F6E9801331A27E53A3083" unitRef="usd">-5616000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-92DC8387382F8BF3900D1A27E5420B82" unitRef="usd">-5616000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-CE2DD4F83BDE20A4A4BA1A27E5388299" unitRef="usd">-870000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-931F1E82D8D6A450C9F31A27E52B2DDC" unitRef="usd">-711000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-857EEFA07A739D4C9A0F1A27E536E413" unitRef="usd">-228000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" decimals="-3" id="Fact-312454A6C196DB05E78F1A27E52EBE69" unitRef="usd">-27000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" decimals="-3" id="Fact-5E2D07BA72E865C41C951A27E52C9861" unitRef="usd">-567000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="FD2014Q4YTD" decimals="-3" id="Fact-733FDF7A480D35A065601A27E5437377" unitRef="usd">-9566000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="FD2015Q4YTD" decimals="-3" id="Fact-5027F73303336F3C17D01A27E53D60FC" unitRef="usd">-12725000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="FD2016Q4YTD" decimals="-3" id="Fact-7CF46B50102E8836C7A01A27E542F181" unitRef="usd">-4304000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-7C79EFA2CC9F91A971BA1A27E5413CC3" unitRef="usd">673000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="0" id="Fact-0CE18B9DAC5EFED575CA1A27E52CCE9F" unitRef="usd">673000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-4266C5E63784BF3700701A27E541D1D5" unitRef="usd">673000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-5AB6BB0D27242B746C5E1A27E53D2513" unitRef="usd">344000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="0" id="Fact-8783835C9F9FB134F7DA1A27E52E25F2" unitRef="usd">344000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-8352F76FEC393305B1481A27E534300D" unitRef="usd">344000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-5B91AD0E6A6423EA47041A27E52FE53B" unitRef="usd">191000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-4A69B8A935ABC1BAE6441A27E541BDB0" unitRef="usd">191000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="0" id="Fact-0568289806792BF219E01A27E52C8BC2" unitRef="usd">191000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-49A1A93CAD952336B15D1A27E53F75E7" unitRef="usd">-46000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2014Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="0" id="Fact-45BC9DEC453DF0AEBBD91A27E535ED34" unitRef="usd">-46</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-796AC90683DC2AE1B0061A27E539741A" unitRef="usd">-46000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-517F383E400019DFDDB71A27E531AAA6" unitRef="usd">-201000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2015Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-4D9F98457D85907666F61A27E52C0AFE" unitRef="usd">-201000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-24B5D10A83452DCB40871A27E53583E8" unitRef="usd">-201000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-E8F9FE859AC10CC8DDBA1A27E53DDD58" unitRef="usd">-398000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2016Q4YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-A94FE002180034AD9F941A27E535EB29" unitRef="usd">-398000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-2A2F3495549DA2669A1F1A27E541DA1A" unitRef="usd">-398000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-6DC3B6722D70D5D01C0E1A27E52FEB8F" unitRef="usd">-118000</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-1DF60314F5C932304E831E5A1863E7DD" unitRef="usd">-118000</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-77A6936C3F708C1897EF1A27E5410968" unitRef="usd">-27000</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-4C07C7DAE3E6671B869C1A27E533E14C" unitRef="usd">-27000</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-2D791E16EC0A8660095B1A27E53DCA2B" unitRef="usd">-567000</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-3018610BC467B28637BF1A27E539F31E" unitRef="usd">-567000</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="FD2014Q4YTD" decimals="-3" id="Fact-63EA243147CE39CA08021A27E52CA105" unitRef="usd">40000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="FD2015Q4YTD" decimals="-3" id="Fact-23053B96CD2B3EDA6CA51A27E52D590F" unitRef="usd">-279000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="FD2016Q4YTD" decimals="-3" id="Fact-F867C72704F491494C4F1A27E52D7F5D" unitRef="usd">248000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
	<us-gaap:OtherLiabilitiesNoncurrent contextRef="FI2015Q4" decimals="-3" id="Fact-95585FD93A9FAC2EA44F1A27E545CF22" unitRef="usd">3252000</us-gaap:OtherLiabilitiesNoncurrent>
	<us-gaap:OtherLiabilitiesNoncurrent contextRef="FI2016Q4" decimals="-3" id="Fact-F176EDD4EB7B5A8A6ABB1A27E543D381" unitRef="usd">4871000</us-gaap:OtherLiabilitiesNoncurrent>
	<us-gaap:OtherNonoperatingIncomeExpense contextRef="FD2014Q4YTD" decimals="-3" id="Fact-45C110F871EC6A9915271A27E52DA6EF" unitRef="usd">-283000</us-gaap:OtherNonoperatingIncomeExpense>
	<us-gaap:OtherNonoperatingIncomeExpense contextRef="FD2015Q4YTD" decimals="-3" id="Fact-C7958D2F616907AEAF071A27E52B0AB1" unitRef="usd">645000</us-gaap:OtherNonoperatingIncomeExpense>
	<us-gaap:OtherNonoperatingIncomeExpense contextRef="FD2016Q4YTD" decimals="-3" id="Fact-6D91F62C5DC028D383F21A27E546B75F" unitRef="usd">871000</us-gaap:OtherNonoperatingIncomeExpense>
	<us-gaap:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet contextRef="FD2014Q4YTD_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="0" id="Fact-60151AF7D754EE6E7FBB1A27E53BC40C" unitRef="usd">0</us-gaap:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet>
	<us-gaap:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet contextRef="FD2015Q4YTD_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="0" id="Fact-589159EC49CC08140E2D1A27E53CC9E8" unitRef="usd">0</us-gaap:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet>
	<us-gaap:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet contextRef="FD2016Q4YTD_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="0" id="Fact-21DA833A57E70E2D44411A27E53CAA9C" unitRef="usd">0</us-gaap:OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet>
	<us-gaap:PartnersCapitalAccountReturnOfCapital contextRef="FD2016Q4YTD" decimals="0" id="Fact-E1430F841E85D9EB4A891E8B72FD0039" unitRef="usd">942000</us-gaap:PartnersCapitalAccountReturnOfCapital>
	<us-gaap:PaymentsForPreviousAcquisition contextRef="FD2014Q4YTD" decimals="-3" id="Fact-25AEF576024599ECF86C1E644363A989" unitRef="usd">0</us-gaap:PaymentsForPreviousAcquisition>
	<us-gaap:PaymentsForPreviousAcquisition contextRef="FD2015Q4YTD" decimals="-3" id="Fact-BE09C260BC850BFD4F8E1E64437B0ED3" unitRef="usd">0</us-gaap:PaymentsForPreviousAcquisition>
	<us-gaap:PaymentsForPreviousAcquisition contextRef="FD2016Q4YTD" decimals="-3" id="Fact-91E32CC6CD6E4AAB3EF31E64436BC5D4" unitRef="usd">337000</us-gaap:PaymentsForPreviousAcquisition>
	<us-gaap:PaymentsForPreviousAcquisition contextRef="FD2016Q4YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-92B180A652319C36F2EC1B8F78C68784" unitRef="usd">337000</us-gaap:PaymentsForPreviousAcquisition>
	<us-gaap:PaymentsForProceedsFromBusinessesAndInterestInAffiliates contextRef="FD2014Q4YTD" decimals="-3" id="Fact-27B697EF8362282D442D1A27E54627DC" unitRef="usd">0</us-gaap:PaymentsForProceedsFromBusinessesAndInterestInAffiliates>
	<us-gaap:PaymentsForProceedsFromBusinessesAndInterestInAffiliates contextRef="FD2015Q4YTD" decimals="-3" id="Fact-E397564419F1195657201A27E546556B" unitRef="usd">-104388000</us-gaap:PaymentsForProceedsFromBusinessesAndInterestInAffiliates>
	<us-gaap:PaymentsForProceedsFromBusinessesAndInterestInAffiliates contextRef="FD2016Q4YTD" decimals="-3" id="Fact-81EE78D29AF47FDB6D0B1A27E54A2014" unitRef="usd">113000</us-gaap:PaymentsForProceedsFromBusinessesAndInterestInAffiliates>
	<us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="FD2014Q4YTD" decimals="-3" id="Fact-AD50A5B212AB77D2872C1A27E5437742" unitRef="usd">59673000</us-gaap:PaymentsForRepurchaseOfCommonStock>
	<us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="FD2015Q4YTD" decimals="-3" id="Fact-FF666EE6AA067ED918101A27E5498466" unitRef="usd">126351000</us-gaap:PaymentsForRepurchaseOfCommonStock>
	<us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="FD2016Q4YTD" decimals="-3" id="Fact-C8A7ECF2B64021D482081A27E549A1DB" unitRef="usd">47149000</us-gaap:PaymentsForRepurchaseOfCommonStock>
	<us-gaap:PaymentsOfDividends contextRef="FD2016Q4YTD" decimals="0" id="Fact-B48039649C7D0FFF2BBA1A27E533C17F" unitRef="usd">25213000</us-gaap:PaymentsOfDividends>
	<us-gaap:PaymentsOfDividendsCommonStock contextRef="FD2014Q4YTD" decimals="-3" id="Fact-FCD3237F61BF1DD838631A27E54337AE" unitRef="usd">0</us-gaap:PaymentsOfDividendsCommonStock>
	<us-gaap:PaymentsOfDividendsCommonStock contextRef="FD2015Q4YTD" decimals="-3" id="Fact-A2CADDE1BF1891FADBEB1A27E540C2F0" unitRef="usd">18062000</us-gaap:PaymentsOfDividendsCommonStock>
	<us-gaap:PaymentsOfDividendsCommonStock contextRef="FD2016Q4YTD" decimals="-3" id="Fact-8E7C068D693F64FCF29F1A27E549E1A0" unitRef="usd">25213000</us-gaap:PaymentsOfDividendsCommonStock>
	<us-gaap:PaymentsToAcquireBusinessesGross contextRef="D2015Q2Aug21_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member" decimals="-3" id="Fact-DAAB7D13DEC9578E230E1A27E5464C69" unitRef="usd">1023000</us-gaap:PaymentsToAcquireBusinessesGross>
	<us-gaap:PaymentsToAcquireBusinessesGross contextRef="D2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member" decimals="-3" id="Fact-27C0B95125E297B93F2A1B30393E29AC" unitRef="eur">2232000</us-gaap:PaymentsToAcquireBusinessesGross>
	<us-gaap:PaymentsToAcquireBusinessesGross contextRef="D2016Q3Aug30_us-gaap_BusinessAcquisitionAxis_cgnx_AQSenseS.L.Member" decimals="-3" id="Fact-C5EF71118B154FDCE5831B307F839E93" unitRef="usd">2519000</us-gaap:PaymentsToAcquireBusinessesGross>
	<us-gaap:PaymentsToAcquireBusinessesGross contextRef="D2016Q3Nov30_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember" decimals="-3" id="Fact-97999C71EF1D9E3057751B4D5349499B" unitRef="usd">3538000</us-gaap:PaymentsToAcquireBusinessesGross>
	<us-gaap:PaymentsToAcquireBusinessesGross contextRef="D2016Q4Dec09_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member" decimals="-3" id="Fact-164B4A081C6A86A2FECB1B3CF78FD87E" unitRef="usd">3000000</us-gaap:PaymentsToAcquireBusinessesGross>
	<us-gaap:PaymentsToAcquireBusinessesGross contextRef="D2016Q4Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-5A356B10257DD0E91D641B677A5C41B5" unitRef="usd">5395000</us-gaap:PaymentsToAcquireBusinessesGross>
	<us-gaap:PaymentsToAcquireBusinessesGross contextRef="D2016Q4Oct27_us-gaap_BusinessAcquisitionAxis_cgnx_EnShapeGmbHMember" decimals="-3" id="Fact-E5AD1485A471E838B5F11B677A5A371D" unitRef="eur">4950000</us-gaap:PaymentsToAcquireBusinessesGross>
	<us-gaap:PaymentsToAcquireBusinessesGross contextRef="D2017Q1Jan01-Jan31_us-gaap_BusinessAcquisitionAxis_cgnx_WebscanInc.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" decimals="-3" id="Fact-34A66272CE84D66E79461B3D46FB14AE" unitRef="usd">176000</us-gaap:PaymentsToAcquireBusinessesGross>
	<us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="FD2014Q4YTD" decimals="-3" id="Fact-51BFA00A2A89FE7FEA071A27E540BACE" unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
	<us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="FD2015Q4YTD" decimals="-3" id="Fact-BC9EF8A8858657AA70A71A27E544888B" unitRef="usd">1023000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
	<us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="FD2016Q4YTD" decimals="-3" id="Fact-352F9D9E7E015E0C77391A27E54568B7" unitRef="usd">14285000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
	<us-gaap:PaymentsToAcquireIntangibleAssets contextRef="FD2014Q4YTD" decimals="-3" id="Fact-8C9A4EF56E1C005413AD1A27E546BDA8" unitRef="usd">0</us-gaap:PaymentsToAcquireIntangibleAssets>
	<us-gaap:PaymentsToAcquireIntangibleAssets contextRef="FD2015Q4YTD" decimals="-3" id="Fact-4AFF477C309143004FA41A27E54AE634" unitRef="usd">10475000</us-gaap:PaymentsToAcquireIntangibleAssets>
	<us-gaap:PaymentsToAcquireIntangibleAssets contextRef="FD2016Q4YTD" decimals="-3" id="Fact-F6C7AFB175EA7199081E1A27E544ECD1" unitRef="usd">0</us-gaap:PaymentsToAcquireIntangibleAssets>
	<us-gaap:PaymentsToAcquireInvestments contextRef="FD2014Q4YTD" decimals="-3" id="Fact-8DDD457BF9C7127B17CF1A27E54312A5" unitRef="usd">422633000</us-gaap:PaymentsToAcquireInvestments>
	<us-gaap:PaymentsToAcquireInvestments contextRef="FD2015Q4YTD" decimals="-3" id="Fact-31FE2DB10C0BD232424C1A27E54422CE" unitRef="usd">686650000</us-gaap:PaymentsToAcquireInvestments>
	<us-gaap:PaymentsToAcquireInvestments contextRef="FD2016Q4YTD" decimals="-3" id="Fact-8BF73DB6FB8C1F26223A1A27E548C464" unitRef="usd">751868000</us-gaap:PaymentsToAcquireInvestments>
	<us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="FD2014Q4YTD" decimals="-3" id="Fact-2AAFF15922C6D0954F0A1A27E5475D89" unitRef="usd">20934000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
	<us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="FD2015Q4YTD" decimals="-3" id="Fact-2AEDF0C39D449A870ECD1A27E5479FD5" unitRef="usd">18228000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
	<us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="FD2016Q4YTD" decimals="-3" id="Fact-418FD8786A91E2D8B6641A27E53F610B" unitRef="usd">12816000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
	<us-gaap:PreferredStockParOrStatedValuePerShare contextRef="FI2016Q4" decimals="INF" id="Fact-751068215ED3361021771A27E534058A" unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
	<us-gaap:PreferredStockSharesAuthorized contextRef="FI2016Q4" decimals="INF" id="Fact-1F9036F8288BCD5457B11A27E53479BE" unitRef="shares">400000</us-gaap:PreferredStockSharesAuthorized>
	<us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-58ADF4CA64F0B64FE28C1A27E53F4457" unitRef="usd">15847000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
	<us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-A0321E27DB6F2CB993001A27E549DCDF" unitRef="usd">20870000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
	<us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions contextRef="FD2014Q4YTD" decimals="-3" id="Fact-4C6F7EF7DC9811EDADA91A27E54704CB" unitRef="usd">16930000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
	<us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions contextRef="FD2015Q4YTD" decimals="-3" id="Fact-0D7B4E5F5EC9250DC0761A27E54A81AE" unitRef="usd">27582000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
	<us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions contextRef="FD2016Q4YTD" decimals="-3" id="Fact-A6AC1D9CA4940242F1151A27E548AEFD" unitRef="usd">43468000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
	<us-gaap:ProceedsFromLimitedPartnershipInvestments contextRef="FD2016Q4YTD" decimals="0" id="Fact-424F0F60F7EFC66F0C9E1A27E53A526A" unitRef="usd">2257000</us-gaap:ProceedsFromLimitedPartnershipInvestments>
	<us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="FD2014Q4YTD" decimals="-3" id="Fact-B4E16728473B33C780281A27E5473D50" unitRef="usd">339470000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
	<us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="FD2015Q4YTD" decimals="-3" id="Fact-990C4C784C1D5AEC3F381A27E5492291" unitRef="usd">601441000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
	<us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="FD2016Q4YTD" decimals="-3" id="Fact-BC77A17559252BED26A81A27E5495FA2" unitRef="usd">657250000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
	<us-gaap:ProductWarrantyAccrual contextRef="FI2014Q4" decimals="-3" id="Fact-65358D26C2C8C397A87F1A27E5373306" unitRef="usd">4086000</us-gaap:ProductWarrantyAccrual>
	<us-gaap:ProductWarrantyAccrual contextRef="FI2015Q4" decimals="-3" id="Fact-0510F22808D2010616121A27E532D4AF" unitRef="usd">4174000</us-gaap:ProductWarrantyAccrual>
	<us-gaap:ProductWarrantyAccrual contextRef="FI2016Q4" decimals="-3" id="Fact-DC9D07156F84279C131E1A27E53FDAE3" unitRef="usd">4335000</us-gaap:ProductWarrantyAccrual>
	<us-gaap:ProductWarrantyAccrualClassifiedCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-65536770A65213931E261A27E52FEDA9" unitRef="usd">4174000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
	<us-gaap:ProductWarrantyAccrualClassifiedCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-70E546E7EAD73788253F1A27E52F8204" unitRef="usd">4335000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
	<us-gaap:ProductWarrantyAccrualPayments contextRef="FD2015Q4YTD" decimals="-3" id="Fact-6ED55EFC2AB86293F58D1A27E5341247" unitRef="usd">3873000</us-gaap:ProductWarrantyAccrualPayments>
	<us-gaap:ProductWarrantyAccrualPayments contextRef="FD2016Q4YTD" decimals="-3" id="Fact-1E668C13482FC418A8E11A27E540AC70" unitRef="usd">2689000</us-gaap:ProductWarrantyAccrualPayments>
	<us-gaap:ProductWarrantyAccrualWarrantiesIssued contextRef="FD2015Q4YTD" decimals="-3" id="Fact-37BE2E90C276337FE3511A27E531F11F" unitRef="usd">4383000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
	<us-gaap:ProductWarrantyAccrualWarrantiesIssued contextRef="FD2016Q4YTD" decimals="-3" id="Fact-11BF61021B726CDBDA621A27E5404694" unitRef="usd">3001000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
	<us-gaap:PropertyPlantAndEquipmentDisposals contextRef="FD2015Q4YTD" decimals="0" id="Fact-B9A86C367050FFFD6F311A27E53F7644" unitRef="usd">2285000</us-gaap:PropertyPlantAndEquipmentDisposals>
	<us-gaap:PropertyPlantAndEquipmentDisposals contextRef="FD2016Q4YTD" decimals="0" id="Fact-B27C81716A0B1EA8A0511A27E53ECC47" unitRef="usd">3191000</us-gaap:PropertyPlantAndEquipmentDisposals>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2015Q4" decimals="-3" id="Fact-496293ABA38D0FD6D56A1A27E541FE23" unitRef="usd">114082000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cgnx_HardwareAndSoftwareMember" decimals="-3" id="Fact-788FF9F85A13D36AFDED1A27E53B200F" unitRef="usd">35350000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingImprovementsMember" decimals="-3" id="Fact-6668462C7CBAB555D4941A27E53F0298" unitRef="usd">25741000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember" decimals="-3" id="Fact-AF553C36C4276F2903DA1A27E53F8239" unitRef="usd">23439000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember" decimals="-3" id="Fact-89BCAFDE7A0B462B781A1A27E53FCCBB" unitRef="usd">16201000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember" decimals="-3" id="Fact-9F4C4B38BE45FAC734FF1A27E53E78F8" unitRef="usd">4401000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember" decimals="-3" id="Fact-0D888335A3A7C84D495F1A27E53F7319" unitRef="usd">3951000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2015Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember" decimals="-3" id="Fact-B462D592E8FB0B588BF21A27E53B02CC" unitRef="usd">4999000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2016Q4" decimals="-3" id="Fact-9901C8B26E0EDB794FEF1A27E53CFDAD" unitRef="usd">123495000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cgnx_HardwareAndSoftwareMember" decimals="-3" id="Fact-5179A6B8D25D764845FE1A27E5373772" unitRef="usd">39409000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingImprovementsMember" decimals="-3" id="Fact-A8D5CAD9937371CE6FC51A27E537D62A" unitRef="usd">28049000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember" decimals="-3" id="Fact-C56F27DC84E005D795F51A27E5363F9A" unitRef="usd">23280000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember" decimals="-3" id="Fact-0DE6C00EE90C076B0C681A27E5408138" unitRef="usd">18726000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember" decimals="-3" id="Fact-A92DD21FF02F262D215A1A27E535FCB4" unitRef="usd">4843000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember" decimals="-3" id="Fact-314BF5B6A45982B276FD1A27E52B84EA" unitRef="usd">3951000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentGross contextRef="FI2016Q4_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember" decimals="-3" id="Fact-35672F5CB27B831AE2221A27E53ED3A4" unitRef="usd">5237000</us-gaap:PropertyPlantAndEquipmentGross>
	<us-gaap:PropertyPlantAndEquipmentNet contextRef="FI2015Q4" decimals="-3" id="Fact-9D648CE2BCC1DFC377371A27E5445FD2" unitRef="usd">53285000</us-gaap:PropertyPlantAndEquipmentNet>
	<us-gaap:PropertyPlantAndEquipmentNet contextRef="FI2016Q4" decimals="-3" id="Fact-8AAE4B0A2FBF7AD2B01B1A27E5354189" unitRef="usd">53992000</us-gaap:PropertyPlantAndEquipmentNet>
	<us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cgnx_ComputerHardwareAndSoftwareMember_us-gaap_RangeAxis_us-gaap_MaximumMember" id="Fact-99DE41F2F2785BA919521A27E54511A1">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
	<us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_cgnx_ComputerHardwareAndSoftwareMember_us-gaap_RangeAxis_us-gaap_MinimumMember" id="Fact-D18F0389D35BE552526F1A27E52CF985">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
	<us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingImprovementsMember" id="Fact-7E0AAE69E844B3FCDD481A27E532D0B7">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
	<us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember" id="Fact-53C933488DB9B43F8EE41A27E52D9662">P39Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
	<us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_us-gaap_RangeAxis_us-gaap_MaximumMember" id="Fact-9999F3BCF5A24940D8521A27E535A29A">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
	<us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_us-gaap_RangeAxis_us-gaap_MinimumMember" id="Fact-93EB8C2F96BB090D8CA71A27E540FE14">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
	<us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_us-gaap_RangeAxis_us-gaap_MaximumMember" id="Fact-15840F62CF125D057B281A27E535CC4E">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
	<us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="FD2016Q4YTD_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_us-gaap_RangeAxis_us-gaap_MinimumMember" id="Fact-D2FDFFD4465EE3A2BCBC1A27E52E30F7">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
	<us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation contextRef="FI2015Q4" decimals="0" id="Fact-A65C39B4FE10535890731A27E53E013E" unitRef="usd">2775000</us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation>
	<us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation contextRef="FI2016Q4" decimals="0" id="Fact-58416F2A94677015F3A11A27E545C785" unitRef="usd">2922000</us-gaap:PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation>
	<us-gaap:PropertySubjectToOrAvailableForOperatingLeaseGross contextRef="FI2015Q4" decimals="0" id="Fact-CCF021E988AA8D8C6A491A27E53537B6" unitRef="usd">5750000</us-gaap:PropertySubjectToOrAvailableForOperatingLeaseGross>
	<us-gaap:PropertySubjectToOrAvailableForOperatingLeaseGross contextRef="FI2016Q4" decimals="0" id="Fact-5DA7673804CF1FE37A591A27E5442772" unitRef="usd">5750000</us-gaap:PropertySubjectToOrAvailableForOperatingLeaseGross>
	<us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted contextRef="FI2016Q4" decimals="0" id="Fact-0B62AA16814AF8B93AC31A27E5429BD3" unitRef="usd">3352000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
	<us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" decimals="-3" id="Fact-A52B84F48B00B69A7A571A27E52EF89E" unitRef="usd">201000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
	<us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" decimals="-3" id="Fact-55E9B87AB99E25E5FAD41A27E52ED9C2" unitRef="usd">398000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
	<us-gaap:ResearchAndDevelopmentExpense contextRef="FD2014Q4YTD" decimals="-3" id="Fact-45B525DE06B53CA3FDF01A27E53FAA77" unitRef="usd">55831000</us-gaap:ResearchAndDevelopmentExpense>
	<us-gaap:ResearchAndDevelopmentExpense contextRef="FD2015Q4YTD" decimals="-3" id="Fact-BFE4F94E46EBD36A0C611A27E5494F5F" unitRef="usd">69791000</us-gaap:ResearchAndDevelopmentExpense>
	<us-gaap:ResearchAndDevelopmentExpense contextRef="FD2016Q4YTD" decimals="-3" id="Fact-684A73EA69F1AC4BD50E1A27E536A15A" unitRef="usd">78269000</us-gaap:ResearchAndDevelopmentExpense>
	<us-gaap:RetainedEarningsAccumulatedDeficit contextRef="FI2015Q4" decimals="-3" id="Fact-842DC3BC00A9B63EC6301A27E52C478A" unitRef="usd">566613000</us-gaap:RetainedEarningsAccumulatedDeficit>
	<us-gaap:RetainedEarningsAccumulatedDeficit contextRef="FI2016Q4" decimals="-3" id="Fact-35D1ED02441BA8603A621A27E52C2CB6" unitRef="usd">643825000</us-gaap:RetainedEarningsAccumulatedDeficit>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2014Q4YTD" decimals="-3" id="Fact-1AD2B4C77E73DACE3FDE1A27E53A5C7B" unitRef="usd">426449000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2014Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember" decimals="-3" id="Fact-E6AA620983C2E9C407FD1A27E531F00A" unitRef="usd">38184000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2014Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember" decimals="-3" id="Fact-FF80656BFD0CEFE0C3B81A27E5293029" unitRef="usd">72528000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2014Q4YTD_us-gaap_StatementGeographicalAxis_country_US" decimals="-3" id="Fact-BCF427E1F8C6F0000A961A27E5498B83" unitRef="usd">120523000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2014Q4YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember" decimals="-3" id="Fact-B18FE1F0844D7C8504D01A27E533352B" unitRef="usd">195214000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2015Q4YTD" decimals="-3" id="Fact-671B578F123499C8EDAA1A27E529BB47" unitRef="usd">450557000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2015Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember" decimals="-3" id="Fact-2A24B8992977D39F84AA1A27E52E6138" unitRef="usd">54137000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2015Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember" decimals="-3" id="Fact-38967923B23E0EA65A2F1A27E52AB1A4" unitRef="usd">77512000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2015Q4YTD_us-gaap_StatementGeographicalAxis_country_US" decimals="-3" id="Fact-D413E70A5FDACC64E65D1A27E531840C" unitRef="usd">119781000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2015Q4YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember" decimals="-3" id="Fact-A47A421F02408B9720C21A27E544341F" unitRef="usd">199127000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2016Q4YTD" decimals="-3" id="Fact-1857783332361B48FC351A27E52D5BBA" unitRef="usd">520753000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2016Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_GreaterChinaMember" decimals="-3" id="Fact-8CC58B6B29337CF01BE31A27E52FE57E" unitRef="usd">63471000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2016Q4YTD_us-gaap_StatementGeographicalAxis_cgnx_OtherGeographicAreaMember" decimals="-3" id="Fact-2B10C9518884B2D33D2A1A27E53195D1" unitRef="usd">88940000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2016Q4YTD_us-gaap_StatementGeographicalAxis_country_US" decimals="-3" id="Fact-FB06F2CF750C0AC29B0D1A27E52BE9BB" unitRef="usd">136611000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueGoodsNet contextRef="FD2016Q4YTD_us-gaap_StatementGeographicalAxis_us-gaap_EuropeMember" decimals="-3" id="Fact-F77889BA3B82058FE3EA1A27E52A5FDD" unitRef="usd">231731000</us-gaap:SalesRevenueGoodsNet>
	<us-gaap:SalesRevenueNet contextRef="FD2014Q4YTD" decimals="-3" id="Fact-FD7ADE10DAB2DF9515A31A27E53B4AE1" unitRef="usd">426449000</us-gaap:SalesRevenueNet>
	<us-gaap:SalesRevenueNet contextRef="FD2015Q4YTD" decimals="-3" id="Fact-C172D12859607B7EDBF11A27E52DD785" unitRef="usd">450557000</us-gaap:SalesRevenueNet>
	<us-gaap:SalesRevenueNet contextRef="FD2016Q4YTD" decimals="-3" id="Fact-2CE9F9E21531749367BF1A27E54AD950" unitRef="usd">520753000</us-gaap:SalesRevenueNet>
	<us-gaap:SellingGeneralAndAdministrativeExpense contextRef="FD2014Q4YTD" decimals="-3" id="Fact-658A1ACC8252E78723311A27E549DF11" unitRef="usd">148699000</us-gaap:SellingGeneralAndAdministrativeExpense>
	<us-gaap:SellingGeneralAndAdministrativeExpense contextRef="FD2015Q4YTD" decimals="-3" id="Fact-6A18795446D988B4994B1A27E538C044" unitRef="usd">156674000</us-gaap:SellingGeneralAndAdministrativeExpense>
	<us-gaap:SellingGeneralAndAdministrativeExpense contextRef="FD2016Q4YTD" decimals="-3" id="Fact-1B035A3B4A9F2F5A521F1A27E5453161" unitRef="usd">166110000</us-gaap:SellingGeneralAndAdministrativeExpense>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" id="Fact-F0A9C5D12872E817F4A81A27E5332E50">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-A7D50DDD3AFABF34CCA21A27E5385CF9" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-FC0C6D88396ABD9CB3981A27E533260D" unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-BA01D4B4AEF3BC96D6B01A27E5456A90" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="0" id="Fact-60CE738789DAFC5868821A27E5450A93" unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="FI2015Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-DCDA482F2BE89FFD421D1A27E5431277" unitRef="shares">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="FI2016Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-65FB6DF9011380442D101A27E5379587" unitRef="shares">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="FI2015Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-B2F8074291B8A9E9877E1A27E54233EB" unitRef="usdPerShare">34.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="FI2016Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-0A875805C3EF6FAF1CAE1A27E52E6350" unitRef="usdPerShare">34.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-2A123B645C3A2017B01B1A27E53781A4" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-C9D3A80DE09F36DD4C6E1A27E52E982A" unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="FD2014Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="4" id="Fact-285CB478D664648733AE1A27E53D0532" unitRef="number">0.0000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="FD2015Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="4" id="Fact-668CEDC1439332D3C22E1A27E543B6B9" unitRef="number">0.0125</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="4" id="Fact-6353F21EA767CC9FCB901A27E531DB0D" unitRef="number">0.0083</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="FD2014Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="2" id="Fact-C59623744FCA57C68E591A27E5318769" unitRef="number">0.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="FD2015Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="2" id="Fact-B6685A7B8FB0FC2BD79A1A27E5315E82" unitRef="number">0.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="2" id="Fact-8D291A5EA62053D3704B1A27E542F35E" unitRef="number">0.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="FD2014Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="3" id="Fact-1E82A2453F70A2601EF61A27E53AD419" unitRef="number">0.026</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="FD2015Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="3" id="Fact-9CFC1513E75D629354181A27E5315CD3" unitRef="number">0.021</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="3" id="Fact-25C31588D8992057BC9A1A27E52CBDE3" unitRef="number">0.017</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="FI2016Q4_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="0" id="Fact-00FEAD8A5B39316818971A27E5397593" unitRef="shares">8078751</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="FI2016Q4" decimals="-3" id="Fact-6DC516A75ECB3F7C287C1A27E52DF264" unitRef="shares">2037000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="FI2016Q4" decimals="2" id="Fact-8045AAFA0C7C594173E81A27E537726B" unitRef="usdPerShare">22.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod contextRef="FD2016Q4YTD" decimals="-3" id="Fact-6D5EF24C06E12118D0291A27E542544E" unitRef="shares">164000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice contextRef="FD2016Q4YTD" decimals="2" id="Fact-AAF31C7641F9AF04031B1A27E52B9A88" unitRef="usdPerShare">37.45</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod contextRef="FD2016Q4YTD" decimals="-3" id="Fact-810357918FF0F333C6B21A27E52BE2F6" unitRef="shares">1930000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2014Q4YTD" decimals="2" id="Fact-F09E9CD85BA35111FE241A27E536B102" unitRef="usdPerShare">15.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2015Q4YTD" decimals="2" id="Fact-2418346D2F8A5612C2611A27E539098C" unitRef="usdPerShare">14.35</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2016Q4YTD" decimals="2" id="Fact-8817CF5B7A7E67948DD31A27E538B0F7" unitRef="usdPerShare">12.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="FI2016Q4" decimals="-3" id="Fact-7B8015C0ACB5552FCC3E1A27E540DAC8" unitRef="usd">202368000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="FI2015Q4" decimals="-3" id="Fact-FF25E62227DD121ED67A1A27E54A4757" unitRef="shares">6644000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="FI2016Q4" decimals="-3" id="Fact-203B1740245ED286FF031A27E5298D1A" unitRef="shares">6433000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="FI2015Q4" decimals="2" id="Fact-C3B46EC12811C231DA211A27E5410D55" unitRef="usdPerShare">28.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="FI2016Q4" decimals="2" id="Fact-B8498C82A843024E166E1A27E544B388" unitRef="usdPerShare">32.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber contextRef="FI2016Q4" decimals="-3" id="Fact-777D910F658FCC4249E71A27E52A2489" unitRef="shares">5837000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="FI2016Q4" decimals="-3" id="Fact-708156CB9158978AAA041A27E54298D2" unitRef="usd">187350000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber contextRef="I2015Q3SISDSale_us-gaap_DisposalGroupClassificationAxis_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" decimals="0" id="Fact-5CD5D67F5976FF6F0A5F1A27E5364C4B" unitRef="shares">190000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice contextRef="FI2016Q4" decimals="2" id="Fact-BC3B78CD03AC4D9317E91A27E5477279" unitRef="usdPerShare">31.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="FD2016Q4YTD" decimals="2" id="Fact-F7F6D7F1C5392652A0241A27E53DB165" unitRef="usdPerShare">21.99</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="FD2016Q4YTD" decimals="2" id="Fact-83A3432CB73F66F539F11A27E538CBB3" unitRef="usdPerShare">35.58</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested contextRef="FI2016Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-0648758ED4DD9217125F1A27E540B85A" unitRef="usd">1272000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="FD2014Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" id="Fact-786DCDF56E22733B07171A27E5318034">P5Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="FD2015Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" id="Fact-356F881E773D647DE3821A27E531691C">P5Y5M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="FD2016Q4YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" id="Fact-6E758D3A1B2886ECE34B1A27E5391A41">P5Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="FD2016Q4YTD" id="Fact-FB1E080F133C8E6279BD1A27E52ADF5B">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="FD2016Q4YTD" id="Fact-BEAF30B5E7FA9B81424C1A27E53ADF46">P7Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="FD2016Q4YTD" id="Fact-84CB6F0071CD3C45D0C71A27E53FD0CD">P7Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
	<us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss contextRef="FD2015Q4YTD" decimals="-3" id="Fact-923CE4B431F2FE72A93C1A27E52F501D" unitRef="usd">-422000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
	<us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss contextRef="FD2016Q4YTD" decimals="-3" id="Fact-A543A22F01988F6D141D1A27E5314730" unitRef="usd">-151000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
	<us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-A3B64A71DF5B36BD250A1A27E53483FB" unitRef="shares">1245000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-D7BCEA6B892D97C81AED1A27E53FAAC0" unitRef="shares">1520000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="FD2016Q4YTD" decimals="-3" id="Fact-6D2FFDA6A2E9AD8E76061A27E54586C6" unitRef="shares">1977000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-F5C3179B4BE8CA0FF66E1A27E535A4F9" unitRef="shares">1977000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2014Q4YTD" decimals="-3" id="Fact-40E05E083EB1BA9EED441A27E52FC14F" unitRef="usd">16930000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-B3D00BAB7A1865896E821A27E534D67F" unitRef="usd">16928000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-A7CC6A51B85AAD80933E1A27E5357896" unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2015Q4YTD" decimals="-3" id="Fact-AA6EFF087206E23DBA8D1A27E533EF6D" unitRef="usd">27582000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-F2ABFFB06616AF6DE0981A27E541AFF6" unitRef="usd">27579000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-18EFEF39406744F1252C1A27E5344583" unitRef="usd">3000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2016Q4YTD" decimals="-3" id="Fact-769948833338B8D273ED1A27E5336E62" unitRef="usd">43468000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-036C6F4196937E7194BD1A27E541E11E" unitRef="usd">43464000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-ECDC665681B89A3AC31B1A27E5353380" unitRef="usd">4000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockOptionPlanExpense contextRef="FD2014Q4YTD" decimals="-3" id="Fact-890F4640354BBB123F291A27E548C0B3" unitRef="usd">15158000</us-gaap:StockOptionPlanExpense>
	<us-gaap:StockOptionPlanExpense contextRef="FD2015Q4YTD" decimals="-3" id="Fact-9796B235C2792F5ECBA21A27E543C937" unitRef="usd">20168000</us-gaap:StockOptionPlanExpense>
	<us-gaap:StockOptionPlanExpense contextRef="FD2016Q4YTD" decimals="-3" id="Fact-5520E64EE0FDF7AEEE2A1A27E54954FB" unitRef="usd">20558000</us-gaap:StockOptionPlanExpense>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="FI2016Q4_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramTwentyFifteenMember" decimals="0" id="Fact-9C4F620ADB04E58E79BA1E4A4205783F" unitRef="usd">68915000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="I2015Q3_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramTwentyFifteenMember" decimals="INF" id="Fact-692BA85E93E1EC641F961A27E5349A54" unitRef="usd">100000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="I2015Q4SD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramNovember2015Member" decimals="INF" id="Fact-CCE0405C4DD02E595B4B1A27E5330116" unitRef="usd">100000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-FFA536E7372D844FFA601A27E540EB5E" unitRef="shares">1534000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-AB6E0D96D6326B7918A91A27E5465343" unitRef="shares">3206000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2016Q4YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgram2014Member" decimals="INF" id="Fact-80CF86B36F8511C2CF431A27E53473FB" unitRef="shares">355000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2016Q4YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramTwentyFifteenMember" decimals="INF" id="Fact-028C96A9C0BCF4C49B7B1A27E534F2D1" unitRef="shares">539000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-5EC1FC33EB3421EAF1161A27E5422D3B" unitRef="shares">894000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2014Q4YTD" decimals="-3" id="Fact-3FF96E212CD0DC42D45E1A27E539B8AC" unitRef="usd">59673000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-F1464A71E13A576098801E577C132242" unitRef="usd">-3000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2014Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-4FA5225A534F83ADD15A1A27E531A19A" unitRef="usd">59670000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2015Q4YTD" decimals="-3" id="Fact-A03ED2F1335737084CBD1A27E534C119" unitRef="usd">126351000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-88DF11CBD9ED4DED04211A27E535826C" unitRef="usd">6000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2015Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-AA2C4BE7B82C234934111A27E5311EF3" unitRef="usd">126345000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2016Q4YTD" decimals="-3" id="Fact-86B3E78DB74F672C42E41A27E52E7A6C" unitRef="usd">47149000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2016Q4YTD" decimals="0" id="Fact-0F323D1C2538B9AB314E1A27E534FCFE" unitRef="usd">47149000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2016Q4YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgram2014Member" decimals="0" id="Fact-744F224115AABA8F3A6A1A27E536FDA7" unitRef="usd">16064000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2016Q4YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramTwentyFifteenMember" decimals="0" id="Fact-07A993B1C47EA8F857351A27E534FC91" unitRef="usd">31085000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-847E0D43BB5E9B6B2CD71A27E534369D" unitRef="usd">2000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2016Q4YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-EF6F659B426AC06691D81A27E540E006" unitRef="usd">47147000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockholdersEquity contextRef="FI2013Q4" decimals="-3" id="Fact-B2AD5259D535B78BF2561A27E5401D42" unitRef="usd">643912000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2013Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-9832E4B3E24E1730AD4A1A27E5352D7E" unitRef="usd">-29833000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2013Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-D5DF2563120EA7DBC95C1A27E5410F08" unitRef="usd">211440000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2013Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-2EEE6436B94D27AF27F31A27E534F8C9" unitRef="usd">174000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2013Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-D10BD28202BAD3DB0F921A27E541C7EC" unitRef="usd">462131000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2014Q4" decimals="-3" id="Fact-9F2A8639C7B74946DB0D1A27E534A916" unitRef="usd">736437000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-92B7937569D7F2D0140A1A27E535C706" unitRef="usd">-39399000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-9F13762A711B683D0A541A27E542C740" unitRef="usd">251717000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-A6FFC7643B9B040DAED51A27E531A53B" unitRef="usd">173000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2014Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-0201D4F1F3C404223C521A27E54106F7" unitRef="usd">523946000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2015Q4" decimals="-3" id="Fact-FA58002C228C1524BD811A27E5375A8B" unitRef="usd">825667000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-12B75A47BB5B2E3B01EE1A27E5353F3F" unitRef="usd">-52124000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-EF7CA5AF3D2F7DF688501A27E534520B" unitRef="usd">311008000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-AAA37D1BDAF18DB46A1B1A27E539F25C" unitRef="usd">170000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2015Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-E74B934DFC16FDD399311A27E5350D3E" unitRef="usd">566613000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2016Q4" decimals="-3" id="Fact-0E5FBD87477D8ADEFDF31A27E52D5138" unitRef="usd">962599000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-895571E1CCA5EB30C7681A27E5351332" unitRef="usd">-56428000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-91F7D8E4922D3772F3101A27E534EACC" unitRef="usd">375030000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-3FBC6F501EDDB7B7F4F61A27E5336B83" unitRef="usd">172000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2016Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-2D3A5BC8F96246A645041A27E541BBB9" unitRef="usd">643825000</us-gaap:StockholdersEquity>
	<us-gaap:UnbilledReceivablesCurrent contextRef="FI2015Q4" decimals="-3" id="Fact-0013CF999CEFEE99E94F1A27E52EA304" unitRef="usd">24000</us-gaap:UnbilledReceivablesCurrent>
	<us-gaap:UnbilledReceivablesCurrent contextRef="FI2016Q4" decimals="-3" id="Fact-70C7970B104A90D506881A27E5379945" unitRef="usd">2217000</us-gaap:UnbilledReceivablesCurrent>
	<us-gaap:UndistributedEarningsOfForeignSubsidiaries contextRef="FI2016Q4" decimals="0" id="Fact-1EC174D90BEEDF21250D1AC2E2E7B7D4" unitRef="usd">498238000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
	<us-gaap:UnrecognizedTaxBenefits contextRef="FI2014Q4" decimals="-3" id="Fact-AA6C9D32311BCBA748D01A27E52F960C" unitRef="usd">5127000</us-gaap:UnrecognizedTaxBenefits>
	<us-gaap:UnrecognizedTaxBenefits contextRef="FI2015Q4" decimals="-3" id="Fact-77DEC08328F91D8FB4161A27E52F8408" unitRef="usd">5296000</us-gaap:UnrecognizedTaxBenefits>
	<us-gaap:UnrecognizedTaxBenefits contextRef="FI2016Q4" decimals="-3" id="Fact-FF593EE8C40F55DDBA731A27E533D01B" unitRef="usd">5719000</us-gaap:UnrecognizedTaxBenefits>
	<us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions contextRef="FD2015Q4YTD" decimals="-3" id="Fact-975F792B18D1BDE0660A1A27E52FBD84" unitRef="usd">56000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
	<us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities contextRef="FD2015Q4YTD" decimals="-3" id="Fact-D90E0070072DBDAA209C1A27E52F40B5" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
	<us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities contextRef="FD2016Q4YTD" decimals="-3" id="Fact-964DEC46A52FCB0ED7C41A27E53A8F6B" unitRef="usd">0</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
	<us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued contextRef="FI2015Q4" decimals="0" id="Fact-4C7B87F13DE7A066A1481A27E542AE44" unitRef="usd">562000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
	<us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued contextRef="FI2016Q4" decimals="0" id="Fact-B5FB300DF9CC3F5294EB1A27E52EEDAD" unitRef="usd">670000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
	<us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="FD2015Q4YTD" decimals="0" id="Fact-4F35172763F59C5F7A0D1ADCFBACD65C" unitRef="usd">34000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
	<us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense contextRef="FD2016Q4YTD" decimals="0" id="Fact-6DDB0197DF822C34909A1ADCFBA7C96E" unitRef="usd">92000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
	<us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="FD2015Q4YTD" decimals="-3" id="Fact-926297BC8475AC0260E61A27E538FCC5" unitRef="usd">1291000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
	<us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="FD2016Q4YTD" decimals="-3" id="Fact-606C948E7C3BE0F8ECC61A27E53A1B59" unitRef="usd">1235000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
	<us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease contextRef="FD2016Q4YTD" decimals="-3" id="Fact-A4FCFE0823D7FF7325001A27E531E4DB" unitRef="usd">11000</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
	<us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="FD2015Q4YTD" decimals="-3" id="Fact-16F117C2C6331A0F7AFE1A27E530F9B1" unitRef="usd">1066000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
	<us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="FD2016Q4YTD" decimals="-3" id="Fact-209342DB8EF1AAF819E51A27E5319AA4" unitRef="usd">823000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
	<us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-0A6D9DCBB9739126CA1D1A27E54A8FAD" unitRef="usd">-469000</us-gaap:ValuationAllowancesAndReservesAdjustments>
	<us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-D02E9628F3A0799519351A27E52BEDDD" unitRef="usd">-57000</us-gaap:ValuationAllowancesAndReservesAdjustments>
	<us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-46AE865E02C09CE50E791A27E52BB2A7" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesAdjustments>
	<us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-3B1FC41D6BA2EB2ADAF51A27E52C33F9" unitRef="usd">-374000</us-gaap:ValuationAllowancesAndReservesAdjustments>
	<us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-F0578E56D7A965A37BE21A27E545178F" unitRef="usd">-40000</us-gaap:ValuationAllowancesAndReservesAdjustments>
	<us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-90174A5B93C55037F6131A27E52BB5FE" unitRef="usd">-41000</us-gaap:ValuationAllowancesAndReservesAdjustments>
	<us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-D5A472B7AE1FD63DACDC1A27E52BDD1D" unitRef="usd">-52000</us-gaap:ValuationAllowancesAndReservesAdjustments>
	<us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-A51EAA5A621C859F04AF1A27E5497237" unitRef="usd">-15000</us-gaap:ValuationAllowancesAndReservesAdjustments>
	<us-gaap:ValuationAllowancesAndReservesAdjustments contextRef="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-9AA4B908A37296EFB1C21A27E546F2C2" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesAdjustments>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2013Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-39A0F0F18AF9B14CA9371A27E52DB2DD" unitRef="usd">4301000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2013Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-BAEC6F62DAC53855FF391A27E547A82D" unitRef="usd">909000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2013Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-2AEC32074D6C136C60BA1A27E54A068B" unitRef="usd">1758000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2014Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-213C2614375BAF1682E21A27E52C72B0" unitRef="usd">5058000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2014Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-26EC50796AA1950384A21A27E54ABD0B" unitRef="usd">820000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2014Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-9E75DE004CF38D74C4621A27E5487292" unitRef="usd">2483000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2015Q4" decimals="-3" id="Fact-1469E4C29109F91BC7AD1A27E549DE8B" unitRef="usd">736000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2015Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-5DDBF9F244B8DB4223761A27E5307D6F" unitRef="usd">3803000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2015Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-A0CE3116148C39207A4D1A27E52C889E" unitRef="usd">736000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2015Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-50829CDED31EABAEA54E1A27E547A44B" unitRef="usd">3259000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2016Q4" decimals="-3" id="Fact-69654E74922C5120F98F1A27E5295476" unitRef="usd">873000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2016Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-A0915499D4FD6AED07781A27E548B66A" unitRef="usd">3317000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2016Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-BC239B81127C0A2224A11A27E549B732" unitRef="usd">873000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesBalance contextRef="FI2016Q4_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-8F93BECDA58DFAE90F721A27E52A84DE" unitRef="usd">4116000</us-gaap:ValuationAllowancesAndReservesBalance>
	<us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-63CCE6C4A1611E311E261A27E52A4F49" unitRef="usd">3204000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
	<us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-DB033AEC30F3712BE9221A27E52B50ED" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
	<us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-25A52A2BBAA43428E3111A27E52C49F6" unitRef="usd">725000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
	<us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-94FE7D0174A81341784A1A27E52D7AA5" unitRef="usd">1562000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
	<us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-1D5BB34ACA9B204D6B3B1A27E52C4A32" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
	<us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-8463374E3D707382B6D91A27E52C858B" unitRef="usd">817000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
	<us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-4AEE2CC4EE41900656361A27E547DBBB" unitRef="usd">3641000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
	<us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-56F2F47CD3C08E67159A1A27E5492B3E" unitRef="usd">216000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
	<us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense contextRef="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-73D8E8E0B124F8568F521A27E548A9EF" unitRef="usd">857000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
	<us-gaap:ValuationAllowancesAndReservesDeductions contextRef="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-13716667C5CF38690DD81A27E548E9CA" unitRef="usd">1978000</us-gaap:ValuationAllowancesAndReservesDeductions>
	<us-gaap:ValuationAllowancesAndReservesDeductions contextRef="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-815BDDE465942991B0791A27E52B3BC7" unitRef="usd">32000</us-gaap:ValuationAllowancesAndReservesDeductions>
	<us-gaap:ValuationAllowancesAndReservesDeductions contextRef="FD2014Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-7F7D11540FF31F2600E11A27E52D432E" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
	<us-gaap:ValuationAllowancesAndReservesDeductions contextRef="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-78834A32279D65EF926B1A27E5309AFC" unitRef="usd">2443000</us-gaap:ValuationAllowancesAndReservesDeductions>
	<us-gaap:ValuationAllowancesAndReservesDeductions contextRef="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-B0849B10896FD4DE57841A27E52C29BA" unitRef="usd">44000</us-gaap:ValuationAllowancesAndReservesDeductions>
	<us-gaap:ValuationAllowancesAndReservesDeductions contextRef="FD2015Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-A189A037CEAAD517D0491A27E549D475" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
	<us-gaap:ValuationAllowancesAndReservesDeductions contextRef="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_InventoryValuationReserveMember" decimals="-3" id="Fact-B0C1943B9B8F74F570931A27E529D397" unitRef="usd">4075000</us-gaap:ValuationAllowancesAndReservesDeductions>
	<us-gaap:ValuationAllowancesAndReservesDeductions contextRef="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_UncollectibleReceivablesMember" decimals="-3" id="Fact-33E2C399135ACCE6AA771A27E52F0E8D" unitRef="usd">64000</us-gaap:ValuationAllowancesAndReservesDeductions>
	<us-gaap:ValuationAllowancesAndReservesDeductions contextRef="FD2016Q4YTD_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" decimals="-3" id="Fact-9DF2625CC37701B8B1D81A27E549C28B" unitRef="usd">0</us-gaap:ValuationAllowancesAndReservesDeductions>
	<us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="FD2014Q4YTD" decimals="-3" id="Fact-904F8A03F26F7174EDA91A27E5445548" unitRef="shares">2213000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
	<us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="FD2015Q4YTD" decimals="-3" id="Fact-3103C2D981DE66A0B0DE1A27E5457097" unitRef="shares">1695000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
	<us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="FD2016Q4YTD" decimals="-3" id="Fact-7FFA357ED22D3B7DB7381A27E548D699" unitRef="shares">1734000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
	<us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="FD2014Q4YTD" decimals="-3" id="Fact-09C7CC488230F7030A2D1A27E52D4F59" unitRef="shares">89071000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
	<us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="FD2015Q4YTD" decimals="-3" id="Fact-F32912A2C1932EBFA6DF1A27E5305D77" unitRef="shares">87991000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
	<us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="FD2016Q4YTD" decimals="-3" id="Fact-1E073DD9F016D7B73E7D1A27E53F30B8" unitRef="shares">87072000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
	<us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="FD2014Q4YTD" decimals="-3" id="Fact-8D12CD599F2D6A7FBFC11A27E5398502" unitRef="shares">86858000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
	<us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="FD2015Q4YTD" decimals="-3" id="Fact-4DEF6F12B3EA5CAF9E831A27E53201C5" unitRef="shares">86296000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
	<us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="FD2016Q4YTD" decimals="-3" id="Fact-1DBBFA76F95E66C437B81A27E5488462" unitRef="shares">85338000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
	<cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock contextRef="FD2016Q4YTD" id="Fact-5F653DD1825A84741DFC1A27E5332428">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:66%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;77,307&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,334&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,024&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash and cash equivalents&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;79,641&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;51,975&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;141,188&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;54,376&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;69,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;61,994&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;67,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;109,360&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro liquidity fund&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,730&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,298&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,440&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;590&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,903&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;978&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term investments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;341,194&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;296,468&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;169,952&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;176,575&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;92,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;44,437&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;26,946&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;24,582&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;23,585&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,503&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;10,339&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,180&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,233&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,869&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Limited partnership interest (accounted for using cost method)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;942&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term investments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;324,335&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;273,088&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;745,170&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;621,531&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock>
	<cgnx:ConcentrationsOfRiskPolicyPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-C052157AC605BA1487961A27E53C83DA">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Concentrations of Risk&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash, cash equivalents, investments, and trade receivables.  The Company has certain domestic and foreign cash balances that exceed the insured limits set by the Federal Deposit Insurance Corporation (FDIC) in the United States and equivalent regulatory agencies in foreign countries.  The Company primarily invests in investment-grade debt securities and has established guidelines relative to credit ratings, diversification, and maturities of its debt securities that maintain safety and liquidity.  The Company has not experienced any significant realized losses on its debt securities.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company performs ongoing credit evaluations of its customers and maintains allowances for potential credit losses. The Company has not experienced any significant losses related to the collection of its accounts receivable.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;A significant portion of the Company's product is manufactured by a third-party contractor located in Indonesia.  This contractor has agreed to provide Cognex with termination notification periods and last-time-buy rights, if and when that may be applicable.  We rely upon this contractor to provide quality product and meet delivery schedules.  We engage in extensive product quality programs and processes, including actively monitoring the performance of our third-party manufacturers; however, we may not detect all product quality issues through these programs and processes.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Certain components are presently sourced from a single vendor that is selected based on price and performance considerations.  In the event of a supply disruption from a single-source vendor, these components may be purchased from an alternative vendor, which may result in manufacturing delays based on the lead time of the new vendor.  Certain key electronic and mechanical components that are purchased from strategic suppliers, such as processors or imagers, are fundamental to the design of Cognex products.  A disruption in the supply of these key components, such as a last-time-buy announcement, natural disaster, financial bankruptcy, or other event, may require us to purchase a significant amount of inventory at unfavorable prices resulting in lower gross margins and higher risk of carrying excess inventory.  If we are unable to secure adequate supply from alternative sources, we may have to redesign our products, which may lead to a delay in manufacturing and a possible loss of sales.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</cgnx:ConcentrationsOfRiskPolicyPolicyTextBlock>
	<cgnx:IndemnificationProvisionsTextBlock contextRef="FD2016Q4YTD" id="Fact-90D6BFE9F45B192F100B1A27E54006FC">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Indemnification Provisions&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Except as limited by Massachusetts law, the by-laws of the Company require it to indemnify certain current or former directors, officers, and employees of the Company against expenses incurred by them in connection with each proceeding in which he or she is involved as a result of serving or having served in certain capacities. Indemnification is not available with respect to a proceeding as to which it has been adjudicated that the person did not act in good faith in the reasonable belief that the action was in the best interests of the Company.  The maximum potential amount of future payments the Company could be required to make under these provisions is unlimited.  The Company has never incurred significant costs related to these indemnification provisions.  As a result, the Company believes the estimated fair value of these provisions is not material.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In the ordinary course of business, the Company may accept standard limited indemnification provisions in connection with the sale of its products, whereby it indemnifies its customers for certain direct damages incurred in connection with third-party patent or other intellectual property infringement claims with respect to the use of the Company&amp;#8217;s products.  The maximum potential amount of future payments the Company could be required to make under these provisions is generally subject to fixed monetary limits.  The Company has never incurred significant costs to defend lawsuits or settle claims related to these indemnification provisions. As a result, the Company believes the estimated fair value of these provisions is not material.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In the ordinary course of business, the Company also accepts limited indemnification provisions from time to time, whereby it indemnifies customers for certain direct damages incurred in connection with bodily injury and property damage arising from the use of the Company&amp;#8217;s products.  The maximum potential amount of future payments the Company could be required to make under these provisions is generally limited and is likely recoverable under the Company&amp;#8217;s insurance policies.  As a result of this coverage, and the fact that the Company has never incurred significant costs to defend lawsuits or settle claims related to these indemnification provisions, the Company believes the estimated fair value of these provisions is not material.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Under the terms of the Company&amp;#8217;s sale of its Surface Inspection Systems Division (SISD) to AMETEK, Inc., the Company has agreed to retain certain liabilities in connection with its business dealings occurring prior to the transaction closing date of July 6, 2015, and to indemnify AMETEK, Inc. in connection with these retained liabilities and for any breach of the representations and warranties made by the Company to AMETEK, Inc. in connection with the sale agreement itself, as is usual and customary in such transactions.  A binding arbitration was concluded in the second quarter of 2016 with respect to certain product performance claims made by an SISD customer, for which the Company remained responsible under the indemnity provisions of the sale transaction.  In that proceeding, the tribunal ordered the Company to pay the customer approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$326,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, primarily representing a refund of the product purchase price.  The tribunal also ordered the customer to pay the Company approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$45,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, primarily representing reimbursement of legal fees.  The net settlement of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$281,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; was recorded in discontinued operations in the second quarter of 2016.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</cgnx:IndemnificationProvisionsTextBlock>
	<cgnx:NatureOfOperationsPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-A8F9AB6B73AC64B27C1F1A27E52C116B">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Nature of Operations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cognex Corporation is a leading provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, where vision is required.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</cgnx:NatureOfOperationsPolicyTextBlock>
	<cgnx:ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock contextRef="FD2016Q4YTD" id="Fact-28B0A9FEF38EB10D383F1A27E5424D7B">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Rental income and related expenses are included in &amp;#8220;Other income (expense)&amp;#8221; on the Consolidated Statements of Operations.  Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:3%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;812&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;530&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;543&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;187&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,629&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</cgnx:ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock>
	<us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-B924AFAB435EE55B7C801A27E542FD86">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accrued Expenses&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:65%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Company bonuses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,462&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,895&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Salaries, commissions, and payroll taxes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,193&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,859&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Vacation&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,860&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,482&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Warranty obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,335&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,174&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign retirement obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,388&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,249&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,301&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11,613&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;42,539&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;33,272&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,086&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,383&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(3,873&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(422&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,174&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,001&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,689&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(151&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,335&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
	<us-gaap:AdvertisingCostsPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-3293891EB546B3EBA8021A27E52A438F">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Advertising Costs&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Advertising costs are expensed as incurred and totaled &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,674,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,009,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,609,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
	<us-gaap:BusinessCombinationDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-5CDCD41B749561AB5B601A27E546BD4F">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Acquisitions&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company completed &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;four&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; acquisitions during the year ended December 31, 2016 and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;one&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; acquisition during the year ended December 31, 2015.  All of these transactions have been accounted for as business combinations.  Pro-forma information for these acquisitions has not been presented because they are not material, either individually or in the aggregate.  Revenue and earnings since the dates of the acquisitions included in the Company's Consolidated Statements of Operations are also not presented because they are not material.  &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;Transaction costs were immaterial and were expensed as incurred during the year of the acquisition.&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Webscan, Inc. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On December 9, 2016, the Company acquired selected assets and assumed selected liabilities of Webscan, Inc., a privately-held U.S.-based ID provider of barcode verifiers.  The total purchase price of&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,176,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; included &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in cash paid upon closing and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$176,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in cash paid in January 2017 as a working capital adjustment.  There are no contingent payments.  In addition, the Company entered into special incentive payments tied to employment, none of which are material, that the Company will record as compensation expense. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Under this transaction, in addition to customer relationships and completed technologies, the Company acquired a team of individuals including software engineers that are expected to help the Company accelerate the development of future ID products.  Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:86%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts receivable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;504&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;296&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;680&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;840&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;925&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts payable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(77&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,176&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;Sheet.  The customer relationships are being amort&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ized to selling, general, and administrative e&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;xpenses on a straigh&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;t-line basis &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;over&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt; &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;seven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt; &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;years, and the completed technologies are being amortized to cost of revenue on a straigh&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;t-line basis over &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.  A portion of t&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;he acquired goodwill is deductible for tax purposes.&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Chiaro Technologies LLC&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On November 30, 2016, the Company acquired selected assets and assumed selected liabilities of Chiaro Technologies LLC, a privately-held U.S.-based 3D vision company.  The total purchase price of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$4,149,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; included &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,538,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in cash and contingent consideration valued at &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$611,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  In addition, the Company entered into special incentive payments tied to employment, none of which are material, that the Company will record as compensation expense. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The undiscounted potential outcomes related to the contingent consideration range from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$0&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,250,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; based upon certain milestone revenue levels over the next two years.  As of December 31, 2016, the fair value of the contingent consideration was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$611,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and was recorded in &amp;#8220;Other non-current liabilities&amp;#8221; on the Consolidated Balance Sheet.  The contingent consideration will be remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.   &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Under this transaction, in addition to completed technologies, the Company acquired a team of software engineers that are expected to help the Company accelerate the development of future 3D vision products.  Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:86%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,911&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(115&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The completed technologies are included in "Intangible assets" on the Consolidated Balance &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;Sheet and are being amortized to cost of revenue on a straigh&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;t-line basis over &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;seven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.  A portion of t&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;he acquired goodwill is deductible for tax purposes.&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;EnShape GmbH&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On October 27, 2016, the Company acquired all of the outstanding shares of EnShape GmbH, a privately-held 3D sensor provider based in Germany.  The total purchase price of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8364;7,250,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$7,901,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;) included &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8364;4,950,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,395,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;) in cash paid upon closing, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8364;1,050,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,144,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;) of deferred cash payments as a holdback for potential indemnification claims payable in 2018, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8364;1,250,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,362,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;) of contingent cash payments based upon the completion of certain tasks by June 30, 2017.  In addition, the Company entered into special incentive payments tied to employment, none of which are material, that the Company will record as compensation expense. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The undiscounted potential outcomes related to the contingent consideration are &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8364;0&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; or &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8364;1,250,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,362,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;) based upon the completion of certain tasks by June 30, 2017.  As of December 31, 2016, the fair value of the contingent consideration was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8364;1,250,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,362,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;) due to the high probability and the short duration to payment, and was recorded in &amp;#8220;Accrued expenses" on the Consolidated Balance Sheets.  The contingent consideration will be remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Under this transaction, in addition to customer relationships and completed technologies, the Company acquired a team of software engineers that are expected to help the Company accelerate the development of  future 3D vision products. Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:86%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;167&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts receivable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;79&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Property, plant, and equipment&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;44&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;447&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,089&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,613&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts payable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(6&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(209&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued income taxes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,342&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,901&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;Sheet.  The customer relationships are being amort&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ized to selling, general, and administrative e&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;xpenses, and the completed technologies are being amortized to cost of revenue, both on a straigh&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;t-line basis over &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;seven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.  A portion of t&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;he acquired goodwill is deductible for tax purposes.&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;AQSense, S.L.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On August 30, 2016, the Company acquired selected assets and assumed selected liabilities of AQSense, S.L., a privately-held 3D vision software provider based in Spain.  The total purchase price of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8364;2,232,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,519,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;) was paid in cash and there are no contingent payments. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Under this transaction, in addition to customer relationships and completed technologies, the Company acquired a team of software engineers that are expected to help the Company accelerate the development of  future 3D vision products.  Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:86%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts receivable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;168&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;598&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;384&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,383&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(14&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,519&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;Sheet.  The customer relationships are being amort&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ized to selling, general, and administrative e&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;xpenses, and the completed technologies are being amortized to cost of revenue, both on a straigh&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;t-line basis over &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.  A portion of t&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"&gt;he acquired goodwill is deductible for tax purposes.&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Manatee Works, Inc.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On August 21, 2015, the Company acquired selected assets of Manatee Works, Inc. (Manatee), a privately-held U.S.-based developer of barcode scanning software development kits (SDKs).  The Company plans to leverage Manatee's current developer network and business model of attracting new developers to drive leads for its ID products.  Under this transaction, the Company also acquired technology for use in mobile devices. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The total purchase price of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$4,813,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; included &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,023,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in cash paid upon closing and contingent consideration valued at &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,790,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; on the acquisition date.  The undiscounted potential outcomes related to future contingent consideration ranges from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$0&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,700,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in 2017 and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$0&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,200,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in 2018 based upon reaching certain milestone revenue levels. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The contingent consideration is remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.  In 2015, the Company recorded a &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$790,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; benefit in other income which reduced the liability amount to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  In 2016, the Company paid &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$337,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and recorded a &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$463,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; benefit in other income reducing the liability to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,200,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  As of December 31, 2016, the current portion of the contingent consideration expected to be paid within the next year was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$800,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and was recorded in &amp;#8220;Accrued expenses,&amp;#8221; and the non-current portion expected to be paid beyond one year was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,400,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and was recorded in &amp;#8220;Other non-current liabilities&amp;#8221; on the Consolidated Balance Sheets. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:85%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;590&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,813&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance Sheets.  The customer relationships are being amortized to selling, general, and administrative expenses, and the completed technologies are being amortized to cost of revenue, both on a straight-line basis over &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.  A portion of the acquired goodwill is deductible for tax purposes.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
	<us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-9E96380714097737D6BA1A27E549D44C">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Cash, Cash Equivalents, and Investments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments purchased with original maturities of three months or less are classified as cash equivalents and are stated at amortized cost.  Debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as short-term investments, as well as equity securities that the Company intends to sell within one year.  Debt securities with remaining maturities greater than one year, as well as a limited partnership interest, are classified as long-term investments.  It is the Company&amp;#8217;s policy to invest in debt securities with effective maturities that do not exceed &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ten&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax, recorded in shareholders&amp;#8217; equity as other comprehensive income (loss).  Equity securities that are held for short periods of time with the intention of selling them in the near term are designated as trading and are reported at fair value, with unrealized gains and losses recorded in current operations.  Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method.  The Company&amp;#8217;s limited partnership interest is accounted for using the cost method because the Company&amp;#8217;s investment is less than &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of the partnership and the Company has no influence over the partnership&amp;#8217;s operating and financial policies. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Management monitors the carrying value of its investments in debt securities and a limited partnership interest compared to their fair value to determine whether an other-than-temporary impairment has occurred.  If the fair value of a debt security is less than its amortized cost, the Company assesses whether the impairment is other-than-temporary.  In considering whether a decline in fair value is other-than-temporary, we consider many factors.  In its evaluation of its debt securities, management considers the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our intent and ability to hold the security to expected recovery of value, and other meaningful information.  An impairment is considered other-than-temporary if (i)&amp;#160;the Company has the intent to sell the security, (ii)&amp;#160;it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis, or (iii)&amp;#160;the Company does not expect to recover the entire amortized cost basis of the security.  If impairment is considered other-than-temporary based upon condition (i)&amp;#160;or (ii)&amp;#160;described above, the entire difference between the amortized cost and the fair value of the security is recognized in current operations.  If an impairment is considered other-than-temporary based upon condition (iii), the amount representing credit losses (defined as the difference between the present value of the cash flows expected to be collected and the amortized cost basis of the security) is recognized in current operations and the amount relating to all other factors is recognized in shareholders' equity as other comprehensive income (loss).  In its evaluation of its limited partnership interest, management considers the duration and extent of the decline, the length of the Company&amp;#8217;s commitment to the investment, general economic trends, and specific communications with the General Partner.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
	<us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-D81AA0206CABA355A2801A27E532E268">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Commitments and Contingencies&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Commitments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, the Company had outstanding purchase orders totaling &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,352,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to purchase inventory from various vendors.  Certain of these purchase orders may be canceled by the Company, subject to cancellation penalties. These purchase commitments relate to expected sales in 2017.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company conducts certain of its operations in leased facilities.  These lease agreements expire at various dates through 2024 and are accounted for as operating leases.  Certain of these leases contain renewal options, retirement obligations, escalation clauses, rent holidays, and leasehold improvement incentives.  Annual rental expense totaled &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$6,090,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,778,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,560,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Future minimum rental payments under these agreements are as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.41520467836257%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:3%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,054&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,303&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,164&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,853&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,735&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,498&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;15,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company owns buildings adjacent to its corporate headquarters that are partially occupied with tenants who have lease agreements that expire at various dates through 2021.  Annual rental income totaled &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,911,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,921,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,794,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  Rental income and related expenses are included in &amp;#8220;Other income (expense)&amp;#8221; on the Consolidated Statements of Operations.  Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:3%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;812&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;530&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;543&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;187&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,629&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Contingencies&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In March 2013, the Company filed a lawsuit against Microscan Systems, Inc. (&amp;#8220;Microscan&amp;#8221;) and Code Corporation ("Code") in the United States District Court for the Southern District of New York alleging that Microscan&amp;#8217;s Mobile Hawk handheld imager infringes U.S. Patent 7,874,487 owned by the Company (the "'487 patent&amp;#8221;).  The lawsuit sought to prohibit Code from manufacturing the product, and Microscan from selling and distributing the product. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In August 2014, Microscan filed a lawsuit against the Company in the United States District Court for the Southern District of New York alleging that the Company&amp;#8217;s DataMan&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;sup style="vertical-align:top;line-height:120%;font-size:6pt"&gt;&amp;#174;&lt;/sup&gt;&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; 8500 handheld imager infringes U.S. Patent 6,352,204 owned by Microscan  (the &amp;#8220;'204 patent&amp;#8221;).  The lawsuit sought to prohibit the Company from manufacturing, selling, and distributing the DataMan&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;sup style="vertical-align:top;line-height:120%;font-size:6pt"&gt;&amp;#174;&lt;/sup&gt;&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; 7500, 8500, 8600, and 9500 products. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In June 2015, the Company executed a settlement agreement with Microscan requiring a payment by the Company of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,500,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; which settles all outstanding litigation between the parties.  The settlement included a patent license agreement valued at &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,667,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; that allows the Company to continue producing current models of its handheld barcode readers, which was recorded as an asset and is being amortized to cost of revenue over the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; year life of the patent.  The remaining &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,833,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of the settlement was recorded as expense.  All cases were dismissed by the end of July 2015. In July 2015, the Company also executed an immaterial settlement agreement with Code.  This matter is now closed.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Various other claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company.  While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
	<us-gaap:CommitmentsAndContingenciesPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-9E20AB511FCBC72A0DD71A27E5385F5A">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Contingencies&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Loss contingencies are accrued if the loss is probable and the amount of the loss can be reasonably estimated.  Legal costs associated with potential loss contingencies, such as patent infringement matters, are expensed as incurred.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesPolicyTextBlock>
	<us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-979E6C00F0AFBC6B94051A27E5482538">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Comprehensive Income&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Comprehensive income is defined as the change in equity of a company during a period from transactions and other events and circumstances, excluding transactions resulting from investments by owners and distributions to owners. Accumulated other comprehensive loss, net of tax, as of December 31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and December 31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, consists of foreign currency translation adjustments of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$55,262,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$49,646,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively; net unrealized gains on available-for-sale investments of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$68,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and net unrealized losses on available-for-sale investments of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,413,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively; net unrealized gains on derivative instruments of $&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and $&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;206,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively; and losses on currency swaps, net of gains on long-term intercompany loans of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,271,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in each year. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amounts reclassified from accumulated other comprehensive income to investment income on the Consolidated Statements of Operations were net realized gains of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$191,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$344,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$673,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
	<us-gaap:ConsolidationPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-0C4D745CF5097472FD041A27E52C6096">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Basis of Consolidation&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The consolidated financial statements include the accounts of Cognex Corporation and its subsidiaries, all of which are wholly-owned.  All intercompany accounts and transactions have been eliminated.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
	<us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-255BFD956C0460AB9A6D1A27E5319D3B">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Derivative Instruments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates.  Currently, the Company enters into two types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45 days&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as hedging instruments for hedge accounting treatment.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18 months&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting our budgeted revenues and expenses against foreign currency exchange rate changes compared to our budgeted rates.  These cash flow hedges are designated as hedging instruments for hedge accounting treatment.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company had the following outstanding forward contracts (in thousands): &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;Currency&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;Notional Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;USD Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;Notional Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;USD Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;United States Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,720&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,720&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;342,500&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,960&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;942,500&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,605&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;39,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;130&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;547,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,893&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Singapore Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;150&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;97&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,063&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,425&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Canadian Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;34&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;650,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,554&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;700,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,800&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,658&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,650&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,441&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Korean Won&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,750,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,450&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,400,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,187&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;425,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,448&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;250,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;857&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Singapore Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;929&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,525&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,074&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Taiwanese Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;802&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,425&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;800&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="20" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" colspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Sheet&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Location&amp;#160; &amp;#160;&amp;#160;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" colspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Sheet&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Location&amp;#160; &amp;#160;&amp;#160;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;expenses&amp;#160;and&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;other current&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;43&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;441&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;43&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="19" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:18%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:19%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December&amp;#160;31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December&amp;#160;31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;117&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;479&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;279&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(73&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(29&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of assets presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;44&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;450&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of liabilities presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;244&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the effect of derivative instruments, net of the underlying exposure, on the consolidated financial statements was as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="14" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:22%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:24%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Location in Financial Statements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year Ended December 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recorded in shareholders' equity (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accumulated other comprehensive income (loss), net of tax&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;37&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;206&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(438&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(387&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(14&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(42&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;27&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;172&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(398&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(46&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(515&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the changes in accumulated other comprehensive income (loss), net of tax, related to derivative instruments (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:79%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:19%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net unrealized loss on cash flow hedges&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(27&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Reclassification of net realized loss on cash flow hedges into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;206&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net unrealized loss on cash flow hedges&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(567&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Reclassification of net realized loss on cash flow hedges into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;398&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;37&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net gains expected to be reclassified from accumulated other comprehensive income (loss), net of tax, into current operations within the next &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;twelve months&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; are &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$37,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
	<us-gaap:DerivativesPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-D85B843DBA0FB2C0F9D31A27E53DE714">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Derivative Instruments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Derivative instruments are recorded on the Consolidated Balance Sheets at fair value.  Changes in the fair value of derivatives are recorded each period in current operations or in shareholders' equity as other comprehensive income (loss), depending upon whether the derivative is designated as a hedge transaction and, if it is, the effectiveness of the hedge.  At the inception of the contract, the Company designates foreign currency forward exchange contracts as either a cash flow hedge of certain forecasted foreign currency denominated sales and purchase transactions or as an economic hedge.  Changes in the fair value of a derivative that is highly effective and that is designated and qualifies as a cash flow hedge are recorded in shareholders' equity as other comprehensive income (loss), and reclassified into current operations in the same period during which the hedged transaction affects current operations and in the same financial statement line item as that of the forecasted transaction.  Cash flow hedges are evaluated for effectiveness quarterly.  Any hedge ineffectiveness (which represents the amount by which the changes in the fair value of the derivative exceed the variability in the cash flows of the forecasted transaction) is recorded in current operations in the period in which ineffectiveness is determined.  Changes in the fair value of the Company&amp;#8217;s economic hedges (not designated as a cash flow hedge) are reported in current operations.  The cash flows from derivative instruments are presented in the same category on the Consolidated Statements of Cash Flows as the category for the cash flows from the hedged item.  Generally, this accounting policy election results in cash flows related to derivative instruments being classified as an operating activity on the Consolidated Statements of Cash Flows.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk-management objective and strategy for undertaking various hedge transactions.  This process includes linking all derivatives that are designated as cash flow hedges to specific forecasted transactions.  The Company also formally assesses (both at the hedge&amp;#8217;s inception and on an ongoing basis) whether the derivatives that are used in hedging transactions have been highly effective in offsetting changes in the fair value or cash flows of hedged items and whether those derivatives may be expected to remain highly effective in future periods.  When it is determined that a derivative is not (or has ceased to be) highly effective as a hedge, the Company discontinues hedge accounting prospectively, as discussed below.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company discontinues hedge accounting prospectively when (1) it determines that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item; (2) the derivative expires or is sold, terminated, or exercised; (3) it is no longer probable that the forecasted transaction will occur; or (4) management determines that designating the derivative as a hedging instrument is no longer appropriate or desired.  When the Company discontinues hedge accounting because it is no longer probable that the forecasted transaction will occur in the originally expected period, the gain or loss on the derivative remains in accumulated other comprehensive income (loss) and is reclassified into current operations when the forecasted transaction affects current operations.  However, if it is probable that a forecasted transaction will not occur by the end of the originally specified time period or within an additional two-month period of time thereafter, the gain or loss that was accumulated in other comprehensive income (loss) is recognized immediately in current operations.  In all situations in which hedge accounting is discontinued and the derivative remains outstanding, the Company carries the derivative at fair value on the Consolidated Balance Sheets, recognizing changes in the fair value in current operations, unless it is designated in a new hedging relationship.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes all derivative instruments as either current assets or current liabilities at fair value on the Consolidated Balance Sheets.  When the Company is engaged in more than one outstanding derivative contract with the same counterparty and also has a legally enforceable master netting agreement with that counterparty, the &amp;#8220;net&amp;#8221; mark-to-market exposure represents the netting of the positive and negative exposures with that counterparty.  Accordingly, cash flow hedges are presented net on the Consolidated Balance Sheets.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DerivativesPolicyTextBlock>
	<us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="FD2016Q4YTD" id="Fact-833ADB5F9BC22CF949EA1A27E5375A25">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Stock-Based Compensation&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Stock Option Plans&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  As of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, the Company had &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,078,751&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares available for grant.  Stock options are granted with an exercise price equal to the market value of the Company&amp;#8217;s common stock at the grant date and generally vest over &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;four&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years based upon continuous service and expire &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ten&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years from the grant date.  Conditions of restricted stock awards may be based upon continuing employment and/or achievement of pre-established performance goals and objectives.  Vesting for performance-based restricted stock awards and time-based restricted stock awards must be greater than one year and three years, respectively.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s stock option activity:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:45%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Shares&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Exercise&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Remaining&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Contractual&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Term&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;(in&amp;#160;years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Aggregate&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Intrinsic Value&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,644&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;28.27&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,930&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35.58&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercised&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,977&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21.99&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(164&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37.45&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,433&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;32.16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;202,368&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercisable as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,037&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;22.21&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;84,359&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Options vested or expected to vest as of&amp;#160;&lt;br clear="none"/&gt;&amp;#160;December 31, 2016 (1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,837&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;31.52&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;187,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-left:4px;padding-top:12px;text-align:left;padding-left:48px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:56%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year&amp;#160;Ended&amp;#160;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Risk-free rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1.7&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.6&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected dividend yield&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;0.83&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1.25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected volatility&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;41&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;40&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected term (in years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.6&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Risk-free rate&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected dividend yield&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&amp;#8217;s Board of Directors and dividing that result by the closing stock price on the grant date.&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected volatility&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The expected volatility was based upon a combination of historical volatility of&amp;#160;the Company&amp;#8217;s&amp;#160;common stock over the contractual term of the option and implied volatility for traded options of the Company&amp;#8217;s stock.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected term&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company stratifies its employee population into &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;two&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; groups: one consisting of senior management and another consisting of all other employees.  The Company currently expects that approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;77%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of its stock options granted to senior management and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;72%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of its options granted to all other employees will actually vest.  Therefore, the Company currently applies an estimated forfeiture rate of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to all unvested options for senior management and a rate of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for all other employees.  The Company revised its estimated forfeiture rates in the first quarter of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, resulting in an increase to compensation expense of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$334,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$461,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$288,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The weighted-average grant-date fair value of stock options granted was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$12.65&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$14.35&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$15.97&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The total intrinsic value of stock options exercised was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$55,580,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$43,987,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$31,884,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;. The total fair value of stock options vested was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$18,114,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$16,227,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$11,627,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, total unrecognized compensation expense related to non-vested stock options was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$19,742,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, which is expected to be recognized over a weighted-average period of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1.52&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company's restricted stock activity: &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="11" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:46%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares                   (in thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average       Grant Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate Intrinsic Value                  (in thousands) (1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;34.05&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Vested&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;34.05&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,272&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;  &amp;#160;&amp;#160;&amp;#160;&amp;#160;(1) Fair market value as of December 31, 2016.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The fair values of restricted stock awards granted were determined based upon the market value of the Company's common stock at the time of grant.  The initial cost is then amortized over the period of vesting until the restrictions lapse.  These restricted shares will be fully vested in 2018.  Participants are entitled to dividends on restricted stock awards, but only receive those amounts if the shares vest.  The sale or transfer of these shares is restricted during the vesting period.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The total stock-based compensation expense and the related income tax benefit recognized was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$20,558,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$6,747,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$21,274,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$7,127,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$15,158,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$4,977,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  No compensation expense was capitalized in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, or &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,052&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,515&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,116&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,271&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,194&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,709&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,235&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,032&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,234&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Discontinued operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,533&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,099&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;20,558&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,274&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,158&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Upon the sale of the Company's Surface Inspection Systems Division, completed on July 6, 2015, the Company accelerated the vesting of stock options with respect to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;190,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; underlying shares, resulting in an additional &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,106,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of stock option expense recorded in the third quarter of 2015.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
	<us-gaap:DiscontinuedOperationsPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-78D8A7A4E56AE5586F021A27E52D92C2">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Discontinued Operations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD) to AMETEK, Inc. (AMETEK) for &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$155,655,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in cash.  Transaction costs totaled &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,198,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and included $&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,106,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of stock option expense from the accelerated vesting of stock options in connection with the sale. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The financial results of SISD are reported as a discontinued operation for all periods presented.  In 2015, a pre-tax gain of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$125,357,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and associated income tax expense of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$47,175,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; was recorded in "Net income (loss) from discontinued operations" on the Consolidated Statements of Operations.  In 2016, a binding arbitration was concluded in the second quarter of 2016 with respect to certain product performance claims made by an SISD customer, for which the Company remained responsible under the indemnity provisions of the sale transaction.  In that proceeding, the tribunal ordered the Company to pay the customer approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$326,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, primarily representing a refund of the product purchase price.  The tribunal also ordered the customer to pay the Company approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$45,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, primarily representing reimbursement of legal fees.  The net settlement of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$281,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; was recorded in discontinued operations in the second quarter of 2016, along with &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$123,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of legal fees.  The tax benefit related to this expense was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$149,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, resulting in a net loss from discontinued operations of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$255,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The major classes of revenue and expense included in discontinued operations were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:64%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Year Ended December 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,248&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;59,821&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(11,291&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(26,953&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,126&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(4,089&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(7,800&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(12,968&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency loss&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(177&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(170&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Operating income from discontinued business&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,854&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,641&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gain (loss) on sale of discontinued business&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(404&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;125,357&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income from discontinued operations before income tax expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(404&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;127,211&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,641&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax expense (benefit) on discontinued operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,801&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,997&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net income (loss) from discontinued operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(255&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;79,410&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,644&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Significant non-cash items related to the discontinued business were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:64%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Year Ended December 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Stock-based compensation expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,533&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,099&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Depreciation expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;401&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;777&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amortization expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;364&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Capital expenditures&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;482&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;631&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DiscontinuedOperationsPolicyTextBlock>
	<us-gaap:EarningsPerSharePolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-8607A7EB936F6D0492C61A27E5488A91">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Net Income Per Share&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period.  Diluted net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period plus potential dilutive common shares.  Dilutive common equivalent shares consist of stock options and are calculated using the treasury stock method.  Common equivalent shares do not qualify as participating securities.  In periods where the Company records a net loss, potential common stock equivalents are not included in the calculation of diluted net loss per share.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
	<us-gaap:EarningsPerShareTextBlock contextRef="FD2016Q4YTD" id="Fact-15A7EE26643B1716517B1A27E52ECA1C">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted Average Shares&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:56%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic weighted-average common shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;85,338&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;86,296&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;86,858&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Effect of dilutive stock options&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,734&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,695&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,213&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Diluted weighted-average common and common-equivalent shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;87,072&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;87,991&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;89,071&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Stock options to purchase &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,195,799&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,035,078&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,286,403&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares of common stock, on a weighted-average basis, were outstanding in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
	<us-gaap:FairValueDisclosuresTextBlock contextRef="FD2016Q4YTD" id="Fact-E695C2E5F213505696301A27E5321F46">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value Measurements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the financial assets and liabilities measured at fair value on a recurring basis as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:93.56725146198829%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Quoted&amp;#160;Prices&amp;#160;in&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Active Markets&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;for Identical&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Assets (Level&amp;#160;1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Significant&amp;#160;Other&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Observable&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Inputs (Level&amp;#160;2)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unobservable Inputs                       (Level 3)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Assets:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,334&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;311,140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;159,455&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96,560&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro liquidity fund&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,883&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,242&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,750&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;43&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Liabilities:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(4,173&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2.  Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service.  For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company did not record an other-than-temporary impairment of these financial assets in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, or &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid, using significant inputs that are not observable in the market, and are therefore classified as Level 3.  Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones, for the Manatee Works, Inc. (Manatee) and Chiaro Technologies LLC (Chiaro) acquisitions, and the likelihood of completing certain tasks for the EnShape GmbH (EnShape) acquisition.  The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:77%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:21%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration resulting from Manatee acquisition &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,790&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(790&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Payment of Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(337&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(463&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration resulting from EnShape acquisition &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,362&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration resulting from Chiaro acquisition &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;611&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,173&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Refer to Note 20 to the Consolidated Financial Statements for further information regarding acquisitions.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Financial Assets that are Measured at Fair Value on a Non-recurring Basis&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company has an interest in a limited partnership, which is accounted for using the cost method.  During 2016, the Company received a distribution from the Partnership that was accounted for as a return of capital and reduced the carrying value of this investment to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;zero&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  Accordingly, the Company is no longer required to measure this investment at fair value on a non-recurring basis.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-financial assets such as property, plant, and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized.  The Company did not record an impairment charge related to these assets in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, or &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
	<us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock contextRef="FD2016Q4YTD" id="Fact-0D9F46CC4FA3271B4C7F1A27E5328EC1">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:77%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:21%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration resulting from Manatee acquisition &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,790&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(790&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Payment of Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(337&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(463&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration resulting from EnShape acquisition &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,362&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration resulting from Chiaro acquisition &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;611&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,173&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
	<us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="FD2016Q4YTD" id="Fact-C84BC9D392E1654A5FA41A27E52CA30B">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Fair Value Measurements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company applies a three-level valuation hierarchy for fair value measurements.  The categorization of assets and liabilities within the valuation hierarchy is based upon the lowest level of input that is significant to the measurement of fair value.  Level&amp;#160;1 inputs to the valuation methodology utilize unadjusted quoted market prices in active markets for identical assets and liabilities.  Level 2 inputs to the valuation methodology are other observable inputs, including quoted market prices for similar assets and liabilities, quoted prices for identical and similar assets and liabilities in markets that are not active, or other inputs that are observable or can be corroborated by observable market data. Level 3 inputs to the valuation methodology are unobservable inputs based upon management&amp;#8217;s best estimate of the inputs that market participants would use in pricing the asset or liability at the measurement date, including assumptions about risk.  A change to the level of an asset or liability within the fair value hierarchy is determined at the end of a reporting period.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
	<us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-652DE567F101FE9997381A27E53119E1">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Foreign Currency Translation&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The financial statements of the Company&amp;#8217;s foreign subsidiaries, where the local currency is the functional currency, are translated using exchange rates in effect at the end of the year for assets and liabilities and average exchange rates during the year for results of operations.  The resulting foreign currency translation adjustment, net of tax, is recorded in shareholders&amp;#8217; equity as other comprehensive income (loss).&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
	<us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy contextRef="FD2016Q4YTD" id="Fact-7F1B5E508312B65B795D1A27E54873D1">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill is stated at cost.  The Company evaluates the possible impairment of goodwill annually each fourth quarter and whenever events or circumstances indicate the carrying value of the goodwill may not be recoverable.  For the past &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, the Company has performed a qualitative assessment of goodwill (commonly known as &amp;#8220;step zero&amp;#8221;) to determine whether further impairment testing is necessary.  Factors that management considers in this assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, and changes in the composition or carrying amount of net assets. In addition, management takes into consideration the goodwill valuation under the last quantitative analysis that was performed.  If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, the entity would proceed to a two-step process.  Step one compares the fair value of the reporting unit with its carrying value, including goodwill.  If the carrying amount exceeds the fair value of the reporting unit, step two is required to measure the amount of impairment loss.  Step two compares the implied fair value of the reporting unit goodwill to the carrying amount of the goodwill.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
	<us-gaap:GoodwillDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-920704ECF784ED79AFA51A27E5392514">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the carrying value of goodwill were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;77,388&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of Manatee Works, Inc. &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;81,448&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of AQSense, S.L. &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,383&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of EnShape GmbH&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,613&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of Chiaro Technologies LLC &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,911&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of Webscan, Inc.&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;925&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;95,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Refer to Note 20 to the Consolidated Financial Statements for further information regarding acquisitions.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  Goodwill assigned to SISD was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$4,301,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and was included as part of the sale.  The Company had previously identified SISD, along with its Modular Vision Systems Division (MVSD), as reporting units for purposes of its goodwill impairment test.  Given the disposition of SISD, management reviewed its reporting units and concluded that the Company now has one reporting unit&lt;/font&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;.&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;For its &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; analysis of goodwill, management elected to perform a qualitative assessment (commonly known as &amp;#8220;step zero&amp;#8221;).  Based upon this assessment, management does not believe that it is more likely than not that the carrying value of the reporting unit exceeds its fair value.  Factors that management considered in the qualitative assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, and changes in the composition or carrying amount of net assets. In addition, management took into consideration the goodwill valuation as of October 4, 2010, which was the last time it was performed under the two-step process.  At that time, this analysis indicated that the fair value of the MVSD reporting unit exceeded its carrying value by approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;208%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  As of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, management does not believe any qualitative factors exist that would change the conclusion of their assessment.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillDisclosureTextBlock>
	<us-gaap:IncomeTaxDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-BB0C10DA7DEAB7AB4E951A27E5422EAB">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Taxes&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Domestic income from continuing operations before taxes was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$23,939,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$11,637,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$25,585,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  Foreign income from continuing operations before taxes was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$144,856,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$115,325,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$106,171,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax expense on continuing operations consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Current:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Federal&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;14,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,430&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18,852&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(617&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;378&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;608&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,946&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,854&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;21,991&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,754&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;24,314&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Deferred:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Federal&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(3,031&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,541&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,569&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,066&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,058&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;250&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(837&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(3,023&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,456&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(3,399&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18,968&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;19,298&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20,915&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company records income tax expense on undistributed earnings that the Company does not intend to be indefinitely reinvested outside of the U.S.  Substantially all of the Company&amp;#8217;s undistributed international earnings intended to be indefinitely reinvested outside of the U.S. were generated by subsidiaries organized in Ireland, which has a statutory tax rate of&amp;#160;&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12.5%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  As of&amp;#160;December&amp;#160;31, 2016, U.S. income tax expense had not been recorded on a cumulative total of&amp;#160;&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$498,238,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;of such earnings.  The amount of unrecognized deferred tax liability related to these temporary differences is estimated to be &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$151,966,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  As of&amp;#160;December&amp;#160;31, 2016&amp;#160;and&amp;#160;December&amp;#160;31, 2015,&amp;#160;respectively,&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$437,691,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;and&amp;#160;&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$352,621,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, of the Company&amp;#8217;s cash, cash equivalents and investments were held by foreign subsidiaries and are generally denominated in U.S. dollars.  Amounts held by foreign subsidiaries are generally subject to U.S. income taxation on repatriation to the U.S.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;A reconciliation of the U.S. federal statutory corporate tax rate to the Company&amp;#8217;s income tax expense on continuing operations, or effective tax rate, was as follows:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:56%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year&amp;#160;Ended&amp;#160;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision at federal statutory corporate tax rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State income taxes, net of federal benefit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign tax rate differential&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(17&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(19&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(19&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Tax credit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to employee stock option exercises&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(7&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other discrete tax events&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision on continuing operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The majority of income earned outside of the United States is permanently reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major jurisdictions as the United States, Ireland, and China.  The statutory tax rate is &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12.5%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in Ireland and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in China. International rights to certain of the Company&amp;#8217;s intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate lower than the above mentioned statutory rates.  These differences result in a decrease in the effective tax rate by &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;17&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;19&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;19&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; percentage points in 2016, 2015, and 2014, respectively.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In 2016, the Company adopted Accounting Standards Update 2016-09, "Improvements to Employee Share-Based Payment Accounting," which was issued by the Financial Accounting Standards Board in March 2016. &amp;#160;This Update requires excess tax benefits to be recognized as an income tax benefit in the income statement. &amp;#160;Previous guidance required excess tax benefits to be recognized as additional paid-in-capital in shareholders' equity on the balance sheet.  This provision is required to be applied prospectively and therefore, prior periods were not restated.  As a result of this change, income tax expense was reduced by &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$11,889,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, resulting in a &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;seven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; percentage point decrease in the effective tax rate.  Additionally, this Update also requires excess tax benefits to be classified along with other income tax cash flows as an operating activity in the statement of cash flows.&amp;#160; In order to improve comparability, the Company applied this provision of the amendment retrospectively.  In 2015 and 2014, the Company reclassified a tax benefit of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$9,964,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$7,871,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, from cash flows provided by financing activities to cash flows provided by operating activities on the consolidated statement of cash flows.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Interest and penalties included in income tax expense was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$92,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$34,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in 2016 and 2015, respectively.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the reserve for income taxes, excluding gross interest and penalties, were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance of reserve for income taxes as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,127&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in prior periods&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(56&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,291&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,066&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance of reserve for income taxes as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,296&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in prior periods&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,235&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(823&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance of reserve for income taxes as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,719&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s reserve for income taxes, including gross interest and penalties, was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$6,389,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of December 31, 2016, which included &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,361,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; classified as a non-current liability and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,028,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; recorded as a reduction to non-current deferred tax assets.  The Company's reserve for income taxes, including gross interest and penalties, was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,858,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of December 31, 2015, which included &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$4,830,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; classified as a non-current liability and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,028,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$670,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$562,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of December&amp;#160;31, 2016 and December&amp;#160;31, 2015, respectively.  If the Company&amp;#8217;s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.  As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$950,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,050,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; over the next twelve months.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts and California.  Within the United States, the tax years 2013 through 2016 remain open to examination by the Internal Revenue Service and various state taxing authorities.  The tax years 2012 through 2016 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In 2011, the Company finalized an Advanced Pricing Agreement (APA) with Japan that will cover tax years 2006 through 2011, with a requested extension to 2012.  The Company has concluded negotiations for an APA between Japan and Ireland that will cover tax years 2014 through 2018 with retroactive application to 2013.  The Company believes it is adequately reserved for these open years.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Deferred tax assets and liabilities consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:67%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-current deferred tax assets:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Stock-based compensation expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;15,365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,895&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Federal and state tax credit carryforwards&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,091&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventory and revenue related&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,919&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,985&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Depreciation&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,882&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,328&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Bonuses, commissions, and other compensation&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,483&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,500&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,714&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross non-current deferred tax assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;32,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,974&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-current deferred tax liabilities:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nondeductible intangible assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(379&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,198&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross non-current deferred tax liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(379&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,198&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Valuation allowance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(4,116&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(3,259&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net non-current deferred tax assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;28,022&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:18px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:18px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:18px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:18px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-current deferred tax liabilities:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&amp;#160;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(319&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net non-current deferred tax liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(319&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In 2016, the Company adopted Accounting Standards Update 2015-17, "Income Taxes - Balance Sheet Classification of Deferred Taxes."&amp;#160; This Update requires that deferred tax assets and liabilities be classified as non-current in a classified balance sheet. &amp;#160;In order to improve comparability, the Company applied the amendments in this Update retrospectively to all periods presented.  As of December 31, 2015, the Company reclassified current deferred income tax assets and liabilities of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$7,104,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$319,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, to non-current on the Consolidated Balance Sheets.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recorded certain intangible assets as a result of the acquisition of DVT Corporation in 2005.  The amortization of these intangible assets is not deductible for U.S. tax purposes.  A deferred tax liability was established to reflect the federal and state liability associated with not deducting the acquisition-related amortization expenses. The balance of this liability was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$379,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In 2016, the Company recorded a valuation allowance of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$857,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for state research and development tax credits that were not considered to be realizable.  Should these credits be utilized in a future period, the reserve associated with these credits would be reversed in the period when it is determined that the credits can be utilized to offset future state income tax liabilities.  In addition, the Company had &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$6,181,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of state research and development tax credit carryforwards, net of federal tax, as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, which will begin to expire in 2019.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;While the deferred tax assets, net of valuation allowance, are not assured of realization, management has evaluated the realizability of these deferred tax assets and has determined that it is more likely than not that these assets will be realized.  In reaching this conclusion, we have evaluated certain relevant criteria including the Company&amp;#8217;s historical profitability, current projections of future profitability, and the lives of tax credits, net operating losses, and other carryforwards.  Should the Company fail to generate sufficient pre-tax profits in future periods, we may be required to establish valuation allowances against these deferred tax assets, resulting in a charge to current operations in the period of determination.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  A pre-tax gain of  &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$125,357,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and associated income tax expense of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$47,175,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; was recorded in 2015.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash paid for income taxes totaled &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$20,748,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$58,280,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$17,549,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  The 2015 income tax payments included remittances related to the sale of SISD.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
	<us-gaap:IncomeTaxPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-AEF38C9CB268318D5F671A27E52CDA3A">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Taxes&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes a tax position in its financial statements when that tax position, based solely upon its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority.  Those tax positions failing to qualify for initial recognition are recognized in the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statutes of limitations.  Derecognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Only the portion of the liability that is expected to be paid within one year is classified as a current liability.  As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statutes of limitations) or are not expected to be paid within one year are not classified as current.  It is the Company&amp;#8217;s policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Deferred tax assets and liabilities are determined based upon the differences between the financial statement and tax bases of assets and liabilities as measured by the enacted tax rates that will be in effect when these differences reverse. Valuation allowances are provided if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sales tax in the United States and similar taxes in other jurisdictions that are collected from customers and remitted to government authorities are presented on a gross basis (i.e., a receivable from the customer with a corresponding payable to the government).  Amounts collected from customers and retained by the Company during tax holidays are recognized as non-operating income when earned.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
	<us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-604A6349E01B2E3DF0F21A27E52B1859">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Intangible Assets&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;37,422&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;638&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,605&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,836&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,769&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,003&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,098&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,905&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;52,668&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;44,356&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,312&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,051&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,009&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,880&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,749&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;131&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,340&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;40,965&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,315&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Estimated amortization expense for each of the five succeeding fiscal years and thereafter is as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,311&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,770&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,395&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;971&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;794&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,071&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,312&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
	<us-gaap:IntangibleAssetsFiniteLivedPolicy contextRef="FD2016Q4YTD" id="Fact-BB493DF4C7028B4F04291A27E53925DA">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Intangible Assets&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Intangible assets are stated at cost and amortized over the assets&amp;#8217; estimated useful lives.  Intangible assets are either amortized in relation to the relative cash flows anticipated from the intangible asset or using the straight-line method, depending upon facts and circumstances.  The useful lives of distribution networks range from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;eleven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;twelve&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, of customer contracts and relationships from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;seven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, and of completed technologies and other intangible assets from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;seven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.  The Company evaluates the possible impairment of long-lived assets, including intangible assets, whenever events or circumstances indicate the carrying value of the assets may not be recoverable. At the occurrence of a certain event or change in circumstances, the Company evaluates the potential impairment of an asset by estimating the future undiscounted cash flows expected to result from the use and eventual disposition of the asset.  If the sum of the estimated future cash flows is less than the carrying value, the Company determines the amount of such impairment by comparing the fair value of the asset to its carrying value.  The fair value is based upon the present value of the estimated future cash flows using a discount rate commensurate with the risks involved.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsFiniteLivedPolicy>
	<us-gaap:InventoryDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-D5FCF0E44536D189A1D61A27E53E5A5E">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Inventories&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:67%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Raw materials&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18,224&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;27,301&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Work-in-process&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,760&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,136&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Finished goods&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,897&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;26,984&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,334&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
	<us-gaap:InventoryPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-7A49DB6B834DD7E627AA1A27E539365A">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Inventories&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories are stated at the lower of cost or market.  Cost is determined using standard costs, which approximates actual costs under the first-in, first-out (FIFO) method.  The Company&amp;#8217;s inventory is subject to rapid technological change or obsolescence.  The Company reviews inventory quantities on hand and estimates excess and obsolescence exposures based upon assumptions about future demand, product transitions, and market conditions, and records reserves to reduce the carrying value of inventories to their net realizable value.  If actual future demand is less than estimated, additional inventory write-downs would be required.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company generally disposes of obsolete inventory upon determination of obsolescence.  The Company does not dispose of excess inventory immediately, due to the possibility that some of this inventory could be sold to customers as a result of differences between actual and forecasted demand.  When inventory has been written down below cost, such reduced amount is considered the new cost basis for subsequent accounting purposes.  As a result, the Company would recognize a higher than normal gross margin if the reserved inventory were subsequently sold.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
	<us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock contextRef="FD2016Q4YTD" id="Fact-1E265487780A5F835C9D1A27E53B1592">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the effective maturity dates of the Company&amp;#8217;s available-for-sale investments as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="25" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:34%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:7%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:7%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:7%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;&amp;lt;1&amp;#160;Year&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;1-2&amp;#160;Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2-3&amp;#160;Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;3-4&amp;#160;Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;4-5&amp;#160;Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;141,188&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;84,007&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;77,975&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,211&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,759&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;311,140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;159,455&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;69,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,957&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,372&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,530&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;87&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96,560&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro liquidity fund&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,298&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;19,007&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,578&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,883&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,903&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,725&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,242&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,233&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,750&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;341,194&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;213,098&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;92,650&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,741&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,846&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;665,529&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
	<us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock contextRef="FD2016Q4YTD" id="Fact-EF9EDEEA5E1D16E2FCC41A27E54776E3">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Cash, Cash Equivalents, and Investments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:66%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;77,307&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,334&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,024&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash and cash equivalents&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;79,641&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;51,975&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;141,188&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;54,376&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;69,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;61,994&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;67,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;109,360&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro liquidity fund&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,730&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,298&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,440&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;590&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,903&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;978&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term investments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;341,194&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;296,468&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;169,952&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;176,575&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;92,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;44,437&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;26,946&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;24,582&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;23,585&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,503&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;10,339&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,180&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,233&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,869&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Limited partnership interest (accounted for using cost method)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;942&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term investments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;324,335&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;273,088&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;745,170&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;621,531&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s cash balance included foreign bank balances totaling &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$68,076,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$39,279,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; treasury bills consist of debt securities issued by  the U.S. government; the Euro liquidity fund invests in a portfolio of investment-grade bonds; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; and agency bonds consist of domestic or foreign obligations of government agencies and government- sponsored enterprises that have government backing.  The Euro liquidity fund is denominated in Euros, and the remaining securities are denominated in U.S. Dollars.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s available-for-sale investments as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="16" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:37%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Cost&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gains&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;141,216&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(65&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;141,188&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;69,623&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(27&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;69,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(47&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro liquidity fund&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,173&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;326&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,313&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(15&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,298&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,900&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,903&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;169,911&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;406&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;169,952&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92,392&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;40&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(152&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,968&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(47&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,946&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,704&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(125&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,585&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,310&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,339&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,236&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,233&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;665,464&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;913&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(848&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;665,529&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="24" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:35%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized Loss&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Position For Less than&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;12 Months&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized Loss&lt;br clear="none"/&gt;Position For Greater than&lt;br clear="none"/&gt;12 Months&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized&lt;br clear="none"/&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized&lt;br clear="none"/&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;117,853&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(400&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(30&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;132,784&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(430&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;99,358&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(199&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;99,358&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(199&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45,429&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(70&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,998&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;51,427&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(74&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;27,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;27,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,028&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,028&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;294,355&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(814&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;20,929&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(34&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;315,284&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(848&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, the Company did not recognize any other-than-temporary impairment of these investments. In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our intent and ability to hold the security to expected recovery of value, and other meaningful information.  The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before its effective maturity or market price recovery.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recorded gross realized gains on the sale of debt securities totaling &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$292,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$549,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$843,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in 2014, and gross realized losses on the sale of debt securities totaling &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$101,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$205,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$170,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in 2014.  These gains and losses are included in "Investment income" on the Consolidated Statement of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&amp;#8217; equity as other comprehensive income (loss). &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the effective maturity dates of the Company&amp;#8217;s available-for-sale investments as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="25" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:34%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:7%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:7%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:7%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;&amp;lt;1&amp;#160;Year&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;1-2&amp;#160;Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2-3&amp;#160;Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;3-4&amp;#160;Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;4-5&amp;#160;Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;141,188&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;84,007&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;77,975&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,211&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,759&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;311,140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;159,455&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;69,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,957&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,372&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,530&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;87&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96,560&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro liquidity fund&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,298&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;19,007&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,578&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,883&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,903&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,725&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,242&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,233&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,750&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;341,194&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;213,098&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;92,650&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,741&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,846&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;665,529&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company is a Limited Partner in Venrock Associates III, L.P. (Venrock), a venture capital fund.  The Company has committed to a total investment in the limited partnership of up to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$20,500,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; with an expiration date of December 31, 2017.  The Company does not have the right to withdraw from the partnership prior to this date.  As of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, the Company contributed &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$19,886,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to the partnership.  The remaining commitment of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$614,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; can be called by Venrock at any time before December&amp;#160;31, 2017.  Contributions and distributions are at the discretion of Venrock&amp;#8217;s management.  &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;No&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; contributions were made in 2016.  The Company received cash distributions totaling &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,257,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in 2016, of which &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$942,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; was accounted for as a return of capital, reducing the carrying value of this investment to zero, with the remaining &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,315,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; recorded as investment income.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock>
	<us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="FD2016Q4YTD" id="Fact-94C7069AB8E5A469DBD71A27E548D572">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt; New Pronouncements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2014-09, &amp;#8220;Revenue from Contracts with Customers&amp;#8221;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The amendments in ASU 2014-09 will supersede and replace all currently existing U.S. GAAP, including industry-specific revenue recognition guidance, with a single, principle-based revenue recognition framework.  The concept guiding this new model is that revenue recognition will depict transfer of control to the customer in an amount that reflects consideration to which an entity expects to be entitled.  The core principles supporting this framework include (1) identifying the contract with a customer, (2) identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance obligations, and (5) recognizing revenue.  This new framework will require entities to apply significantly more judgment.  This increase in management judgment will require expanded disclosure on estimation methods, inputs, and assumptions for revenue recognition.   &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In March 2016, ASU 2016-08, "Principal versus Agent Considerations (Reporting Revenue Gross versus Net)," was issued, in April 2016, ASU 2016-10, "Identifying Performance Obligations and Licensing," was issued, in May 2016, ASU 2016-12, "Narrow-Scope Improvements and Practical Expedients" was issued, and in December 2016, ASU 2016-20. "Technical Corrections and Improvements," was issued.  These Updates do not change the core principle of the guidance under ASU 2014-09, but rather provide implementation guidance.  ASU 2015-14, "Deferral of the effective date," amended the effective date of ASU 2014-09 for public companies to annual reporting periods beginning after December 15, 2017.  Early adoption is permitted, but only beginning after December 15, 2016.  The Financial Accounting Standards Board may release additional implementation guidance in future periods. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:11pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;We expect to adopt this standard using the full retrospective method to present all periods reported on a consistent basis.  Upon adoption, revenue for software-only products sold as part of multiple-deliverable arrangements will no longer be deferred when vendor-specific objective evidence of fair value does not exist for undelivered elements of the arrangement.  This change will result in earlier recognition of revenue.  In addition, we expect certain of the Company&amp;#8217;s product accessory sales, which are currently reported on a net basis, to be reported on a gross basis as a result of applying the expanded guidance in the new standard related to principal versus agent considerations.  This change will result in the Company reporting higher revenue and higher cost of revenue when these sales are reported on a gross basis, although the gross margin dollars will not change.  We do not expect either of these changes to have a material impact on total revenue.  Management will continue to evaluate the impact of this standard&lt;/font&gt;&lt;font style="font-family:inherit;font-size:11pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2015-11, "Inventory - Simplifying the Measurement of Inventory"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2015-11 requires companies to measure most inventory at the lower of cost and net realizable value, thereby simplifying the current guidance under which a company must measure inventory at the lower of cost or market.  This ASU eliminates the need to determine replacement cost and evaluate whether said cost is within a quantitative range.  This ASU also further aligns U.S. GAAP and international accounting standards.  For public companies, the guidance in ASU 2015-11 is effective for annual periods beginning after December 15, 2016, and interim periods within those annual periods.  Early adoption is permitted.  Management does not expect ASU 2015-11 to have a material impact on the Company's financial statements and disclosures. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-01, "Financial Instruments - Recognition and Measurement of Financial Assets and Financial Liabilities"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-01 provides guidance related to certain aspects of recognition, measurement, presentation, and disclosure of financial instruments.  The amendments in this Update affect all entities that hold financial assets or owe financial liabilities.  This ASU requires equity investments (except those accounted under the equity method) to be measured at fair value with changes in fair value recognized in net income.  However, an entity may choose to measure equity investments that do not have readily determinable fair values at cost minus impairment.  This ASU also eliminates the requirement for public companies to disclose the methods and significant assumptions used to estimate the fair value for financial instruments measured at amortized cost on the balance sheet, and it requires separate presentation of financial assets and financial liabilities by measurement category and form of financial asset on the balance sheet or the accompanying notes to the financial statements.  For public companies, the guidance in ASU 2016-01 is effective for annual periods beginning after December 15, 2017, and interim periods within those annual periods.  Early adoption is not permitted except for certain amendments in this Update.  Management does not expect ASU 2016-01 to have a material impact on the Company's financial statements and disclosures. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-02, "Leases"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current U.S. GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current U.S. GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current U.S. GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  This ASU should be applied using a modified retrospective approach. Management is in the process of evaluating the impact of this Update. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-05, "Derivatives and Hedging - Effect of Derivative Contract Novations on Existing Hedge Accounting Relationships"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-05 applies to all reporting entities for which there is a change in the counterparty to a derivative instrument that has been designated as the hedging instrument.  The amendments in this Update clarify that a change in the counterparty does not, in and of itself, require de-designation of that hedging relationship provided that all other hedge accounting criteria continue to be met.  For public companies, the guidance in ASU 2016-05 is effective for annual periods beginning after December 15, 2016, and interim periods within those annual periods.  This ASU should be applied on either a prospective basis or a modified retrospective basis.  Management does not expect ASU 2016-05 to have a material impact on the Company's financial statements and disclosures. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&amp;#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&amp;#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&amp;#160; The amendments in this Update require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&amp;#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.&amp;#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-16 applies to all reporting entities with intra-entity transfers of assets other than inventory.  The amendments in this Update allow the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory when the transfer occurs, as opposed to when the asset has been sold to an outside party under current U.S. GAAP.   Two common examples of assets included in the scope of this Update are intellectual property and property, plant, and equipment.  For public companies, the amendments in ASU 2016-16 are effective for annual reporting periods beginning after December 15, 2017, and interim reporting periods within those annual periods.  Early adoption is permitted for all entities as of the beginning of an annual reporting period for which financial statements (interim or annual) have not been issued or made available for issuance.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption.  Management is in the process of evaluating the impact of this Update.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
	<us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock contextRef="FD2016Q4YTD" id="Fact-FE682097CC395EE6C9321A27E5339838">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company's restricted stock activity: &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="11" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:46%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares                   (in thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average       Grant Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate Intrinsic Value                  (in thousands) (1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;34.05&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Vested&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;34.05&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,272&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;  &amp;#160;&amp;#160;&amp;#160;&amp;#160;(1) Fair market value as of December 31, 2016.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock>
	<us-gaap:OffsettingAssetsTableTextBlock contextRef="FD2016Q4YTD" id="Fact-6BFC4EB9C496D2F3897A1A27E533441D">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="19" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:18%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:19%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December&amp;#160;31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December&amp;#160;31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;117&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;479&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;279&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(73&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(29&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of assets presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;44&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;450&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of liabilities presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;244&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:OffsettingAssetsTableTextBlock>
	<us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-87C06E5E28712A2DB4021A27E53FE0A1">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Employee Savings Plan&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Under the Company&amp;#8217;s Employee Savings Plan, a defined contribution plan, U.S. employees who have attained age &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; may contribute up to 25% of their pay on a pre-tax basis subject to the annual dollar limitations established by the Internal Revenue Service.  The Company currently matches 50% of the first &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of pay an employee contributes. Company contributions vest &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;40%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;60%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;100%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; after two, three, four, and five years of continuous employment with the Company, respectively.  Company contributions totaled &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,712,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,845,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,555,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  Cognex stock is not an investment alternative and Company contributions are not made in the form of Cognex stock.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
	<us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-C8A53E3E8784322C75951A27E532EBCD">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Property, Plant, and Equipment&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Property, plant, and equipment consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:65%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Land&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Buildings&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;23,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,439&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Building improvements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;28,049&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25,741&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Leasehold improvements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,237&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,999&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Computer hardware and software&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;39,409&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Manufacturing test equipment&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18,726&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Furniture and fixtures&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,843&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,401&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;123,495&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;114,082&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Less: accumulated depreciation&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(69,503&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(60,797&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;53,992&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;53,285&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The cost of property, plant, and equipment totaling &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,191,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;$2,285,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; was removed from both the asset and accumulated depreciation balances in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.  Gains and losses on these disposals were immaterial in both periods.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Buildings include rental property with a cost basis of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,750,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and accumulated depreciation of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,922,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,775,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
	<us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-8F505E49DF29DFD70DEB1A27E538370E">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Property, Plant, and Equipment&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Property, plant, and equipment are stated at cost and depreciated using the straight-line method over the assets&amp;#8217; estimated useful lives.  Buildings&amp;#8217; useful lives are &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;39&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, building improvements&amp;#8217; useful lives are &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ten&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, and the useful lives of computer hardware and software, manufacturing test equipment, and furniture and fixtures range from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;two&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.  Leasehold improvements are depreciated over the shorter of the estimated useful lives or the remaining terms of the leases.  Maintenance and repairs are expensed when incurred; additions and improvements are capitalized.  Upon retirement or disposition, the cost and related accumulated depreciation of the disposed assets are removed from the accounts, with any resulting gain or loss included in current operations.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
	<us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="FD2016Q4YTD" id="Fact-9196BBD268283CE14E391A27E53FCC43">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Property, plant, and equipment consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:65%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Land&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Buildings&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;23,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,439&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Building improvements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;28,049&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25,741&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Leasehold improvements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,237&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,999&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Computer hardware and software&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;39,409&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Manufacturing test equipment&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18,726&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Furniture and fixtures&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,843&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,401&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;123,495&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;114,082&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Less: accumulated depreciation&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(69,503&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(60,797&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;53,992&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;53,285&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
	<us-gaap:ReceivablesPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-1913479C2245B3C7DA3E1A27E543DEB2">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounts Receivable&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition.  Accounts that are outstanding longer than the payment terms are considered to be past due.  The Company establishes reserves against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer&amp;#8217;s current ability to pay its obligations to the Company, general economic and industry conditions, as well as various other factors.  Receivables are written off against these reserves in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ReceivablesPolicyTextBlock>
	<us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-4549D3282C578354E6981A27E548409E">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Research and Development&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research and development costs for internally-developed or acquired products are expensed when incurred until technological feasibility has been established for the product.  Thereafter, all software costs may be capitalized until the product is available for general release to customers.  The Company determines technological feasibility at the time the product reaches beta in its stage of development.  Historically, the time incurred between beta and general release to customers has been short, and therefore, the costs have been insignificant. &lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock>
	<us-gaap:RevenueRecognitionPolicyTextBlock contextRef="FD2016Q4YTD" id="Fact-70EB6061F9FA5A0FFE791A27E52D4890">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Revenue Recognition&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s product revenue is derived from the sale of machine vision systems, which can take the form of hardware with embedded software or software-only, and related accessories.  The Company also generates revenue by providing maintenance and support, consulting, and training services to its customers.  Certain of the Company&amp;#8217;s arrangements include multiple deliverables that provide the customer with a combination of products or services.  In order to recognize revenue, the Company requires that a signed customer contract or purchase order is received, the fee from the arrangement is fixed or determinable, and collection of the resulting receivable is probable.  Assuming that these criteria have been met, product revenue is generally recognized upon delivery, revenue from maintenance and support programs is recognized ratably over the program period, and revenue from consulting and training services is recognized when the services have been provided.  When customer-specified acceptance criteria exists that are substantive, product revenue is deferred, along with associated incremental direct costs, until these criteria have been met and any remaining performance obligations are inconsequential or perfunctory.&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;For the majority of the Company&amp;#8217;s revenue transactions, revenue recognition and invoicing both occur upon delivery.  In certain circumstances, however, the agreement with the customer provides for invoicing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Invoicing that precedes revenue recognition is common for various customers in the logistics industry where milestone billings are prevalent, resulting in deferred revenue.  Conversely, the Company records unbilled revenue in connection with a material customer in the consumer electronics industry.  For this arrangement, the Company recognizes revenue for all delivered products when the first production line that incorporates these products is validated, because at that point the remaining performance obligations are inconsequential or perfunctory.  Invoicing for all delivered products occurs as the production lines incorporating those products are installed over a period of several weeks.  The Company also has a technical support obligation related to this arrangement for which revenue is deferred and recognized over the support period of approximately six months.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The majority of the Company&amp;#8217;s product offerings consist of hardware with embedded software.  Under the revenue recognition rules for tangible products, the fee from a multiple-deliverable arrangement is allocated to each of the deliverables based upon their relative selling prices as determined by a selling-price hierarchy.  A deliverable in an arrangement qualifies as a separate unit of accounting if the delivered item has value to the customer on a stand-alone basis.  A delivered item that does not qualify as a separate unit of accounting is combined with the other undelivered items in the arrangement and revenue is recognized for those combined deliverables as a single unit of accounting. The selling price used for each deliverable is based upon vendor-specific objective evidence (VSOE) if available, third-party evidence (TPE) if VSOE is not available, and management&amp;#8217;s best estimate of selling price (BESP) if neither VSOE nor TPE are available. VSOE is the price charged for a deliverable when it is sold separately.  TPE is the price of the Company&amp;#8217;s or any competitor&amp;#8217;s largely interchangeable products or services in stand-alone sales to similarly-situated customers.  BESP is the price at which the Company would sell the deliverable if it were sold regularly on a stand-alone basis, considering market conditions and entity-specific factors.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The selling prices used in the relative selling price allocation method for (1)&amp;#160;certain of the Company&amp;#8217;s services are based upon VSOE, (2) third-party accessories available from other vendors are based upon TPE, and (3)&amp;#160;hardware products with embedded software, custom accessories, and services for which VSOE does not exist are based upon BESP.  The Company does not believe TPE exists for these products and services because they are differentiated from competing products and services in terms of functionality and performance and there are no competing products or services that are largely interchangeable.  BESP has been established for each product line within each region. Management establishes BESP with consideration for market conditions, such as the impact of competition and geographic considerations, and entity-specific factors, such as pricing practices, gross margin objectives, customer size, and market share goals.  Management believes that BESP is reflective of reasonable pricing of that deliverable as if priced on a stand-alone basis.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Under the revenue recognition rules for software-only products, the fee from a multiple-deliverable arrangement is allocated to each of the undelivered elements based upon VSOE, which is limited to the price charged when the same deliverable is sold separately, with the residual value from the arrangement allocated to the delivered element.  The portion of the fee that is allocated to each deliverable is then recognized as revenue when the criteria for revenue recognition are met with respect to that deliverable.  If VSOE does not exist for all of the undelivered elements, then all revenue from the arrangement is typically deferred until all elements have been delivered to the customer.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s products are sold directly to end users, as well as to resellers including original equipment manufacturers (OEMs), distributors, and integrators.  Revenue is recognized upon delivery of the product to the reseller, assuming all other revenue recognition criteria have been met.  The Company establishes reserves against revenue for potential product returns, since the amount of future returns can be reasonably estimated based upon experience.  These reserves have historically been immaterial.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Certain customers are offered pricing discounts on current sales based upon purchasing volumes or preferred pricing arrangements, for which revenue is reported net of these discounts. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company reports revenue for certain of its product accessory sales on a net basis, by reducing the gross sale amount by the related costs, when certain factors in the arrangement with the customer indicate that the Company is acting as an agent, rather than as a principal.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amounts billed to customers related to shipping and handling, as well as reimbursements received from customers for out-of-pocket expenses, are classified as revenue, with the associated costs included in cost of revenue.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
	<us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="FD2016Q4YTD" id="Fact-A45FFFFA16CFF31C45B21A27E5427978">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:65%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Company bonuses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,462&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,895&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Salaries, commissions, and payroll taxes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,193&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,859&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Vacation&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,860&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,482&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Warranty obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,335&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,174&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign retirement obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,388&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,249&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,301&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11,613&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;42,539&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;33,272&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
	<us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock contextRef="FD2016Q4YTD" id="Fact-D286BB9F88F1B0C9AC0E1A27E53AA07E">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s available-for-sale investments as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="16" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:37%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Cost&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gains&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;141,216&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(65&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;141,188&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;69,623&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(27&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;69,614&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(47&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro liquidity fund&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,173&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;326&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,313&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(15&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,298&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,900&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,903&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;169,911&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;406&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;169,952&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92,392&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;40&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(152&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,968&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(47&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,946&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,704&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(125&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,585&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,310&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,339&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,236&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,233&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;665,464&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;913&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(848&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;665,529&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
	<us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="FD2016Q4YTD" id="Fact-D7722CCAC428D8AD6AA91A27E5444033">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax expense on continuing operations consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Current:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Federal&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;14,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,430&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18,852&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(617&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;378&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;608&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,946&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,854&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;21,991&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,754&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;24,314&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Deferred:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Federal&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(3,031&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,541&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,569&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,066&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,058&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;250&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(837&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(3,023&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,456&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(3,399&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18,968&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;19,298&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20,915&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
	<us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="FD2016Q4YTD" id="Fact-9AA7262795CC8988FC6C1A27E52C4CF1">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Deferred tax assets and liabilities consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:67%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-current deferred tax assets:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Stock-based compensation expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;15,365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,895&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Federal and state tax credit carryforwards&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,091&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventory and revenue related&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,919&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,985&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Depreciation&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,882&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,328&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Bonuses, commissions, and other compensation&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,483&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,500&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,714&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross non-current deferred tax assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;32,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,974&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-current deferred tax liabilities:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nondeductible intangible assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(379&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,198&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross non-current deferred tax liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(379&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,198&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Valuation allowance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(4,116&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(3,259&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net non-current deferred tax assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;28,022&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,517&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:18px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:18px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:18px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:18px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-current deferred tax liabilities:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&amp;#160;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(319&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net non-current deferred tax liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(319&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
	<us-gaap:ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock contextRef="FD2016Q4YTD" id="Fact-7EEC8C7533AC9B2044371A27E533427C">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the changes in accumulated other comprehensive income (loss), net of tax, related to derivative instruments (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:79%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:19%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net unrealized loss on cash flow hedges&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(27&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Reclassification of net realized loss on cash flow hedges into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;206&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net unrealized loss on cash flow hedges&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(567&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Reclassification of net realized loss on cash flow hedges into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;398&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;37&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock>
	<us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock contextRef="FD2016Q4YTD" id="Fact-B9434EC766177A52DDCB1A27E532DCAE">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the effect of derivative instruments, net of the underlying exposure, on the consolidated financial statements was as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="14" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:22%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:24%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Location in Financial Statements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year Ended December 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recorded in shareholders' equity (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accumulated other comprehensive income (loss), net of tax&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;37&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;206&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(438&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(387&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(14&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(42&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;27&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;172&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(398&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(46&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:13px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(515&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
	<us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock contextRef="FD2016Q4YTD" id="Fact-8C1999E9BED1E07311F61A27E53225CD">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="20" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" colspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Sheet&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Location&amp;#160; &amp;#160;&amp;#160;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" colspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Sheet&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Location&amp;#160; &amp;#160;&amp;#160;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;expenses&amp;#160;and&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;other current&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;43&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;441&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued&lt;/font&gt;&lt;/div&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;201&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;43&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
	<us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock contextRef="FD2016Q4YTD" id="Fact-4CFA6E0DE1E783A7922E1A27E52D950A">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The financial results of SISD are reported as a discontinued operation for all periods presented.  In 2015, a pre-tax gain of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$125,357,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and associated income tax expense of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$47,175,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; was recorded in "Net income (loss) from discontinued operations" on the Consolidated Statements of Operations.  In 2016, a binding arbitration was concluded in the second quarter of 2016 with respect to certain product performance claims made by an SISD customer, for which the Company remained responsible under the indemnity provisions of the sale transaction.  In that proceeding, the tribunal ordered the Company to pay the customer approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$326,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, primarily representing a refund of the product purchase price.  The tribunal also ordered the customer to pay the Company approximately &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$45,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, primarily representing reimbursement of legal fees.  The net settlement of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$281,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; was recorded in discontinued operations in the second quarter of 2016, along with &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$123,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of legal fees.  The tax benefit related to this expense was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$149,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, resulting in a net loss from discontinued operations of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$255,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The major classes of revenue and expense included in discontinued operations were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:64%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Year Ended December 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,248&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;59,821&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(11,291&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(26,953&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,126&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(4,089&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(7,800&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(12,968&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency loss&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(177&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(170&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Operating income from discontinued business&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,854&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,641&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gain (loss) on sale of discontinued business&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(404&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;125,357&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income from discontinued operations before income tax expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(404&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;127,211&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,641&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax expense (benefit) on discontinued operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,801&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,997&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net income (loss) from discontinued operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(255&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;79,410&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,644&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Significant non-cash items related to the discontinued business were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:64%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Year Ended December 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Stock-based compensation expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,533&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,099&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Depreciation expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;401&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;777&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amortization expense&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;364&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Capital expenditures&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;482&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;631&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock>
	<us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="FD2016Q4YTD" id="Fact-D1E49386E9F9AA62DA9C1A27E544CCE7">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;A reconciliation of the U.S. federal statutory corporate tax rate to the Company&amp;#8217;s income tax expense on continuing operations, or effective tax rate, was as follows:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:56%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year&amp;#160;Ended&amp;#160;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision at federal statutory corporate tax rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State income taxes, net of federal benefit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign tax rate differential&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(17&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(19&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(19&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Tax credit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to employee stock option exercises&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(7&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other discrete tax events&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision on continuing operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
	<us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="FD2016Q4YTD" id="Fact-5524105FE0D2C8C230DE1A27E53787D8">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,052&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,515&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,116&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,271&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,194&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,709&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,235&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,032&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,234&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Discontinued operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,533&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,099&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;20,558&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,274&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,158&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
	<us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock contextRef="FD2016Q4YTD" id="Fact-E07ED794C85530B2FDF31A27E532F59C">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the financial assets and liabilities measured at fair value on a recurring basis as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:93.56725146198829%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Quoted&amp;#160;Prices&amp;#160;in&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Active Markets&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;for Identical&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Assets (Level&amp;#160;1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Significant&amp;#160;Other&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Observable&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Inputs (Level&amp;#160;2)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unobservable Inputs                       (Level 3)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Assets:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,334&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;311,140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;159,455&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96,560&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro liquidity fund&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;46,499&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;30,883&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,242&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,750&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash flow hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;43&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Liabilities:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(4,173&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
	<us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="FD2016Q4YTD" id="Fact-9E26B62916C15477F9391A27E52B8E45">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;37,422&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;638&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,605&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,836&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,769&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,003&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,098&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,905&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;52,668&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;44,356&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,312&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,051&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,009&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,880&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,749&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;131&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,340&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,175&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;40,965&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,315&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
	<us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock contextRef="FD2016Q4YTD" id="Fact-3608FE26BBC0C64943AD1A27E534AF6D">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Future minimum rental payments under these agreements are as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.41520467836257%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:3%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,054&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,303&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,164&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,853&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,735&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,498&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;15,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock>
	<us-gaap:ScheduleOfGoodwillTextBlock contextRef="FD2016Q4YTD" id="Fact-84BDB73D94D94C44C9991A27E539CD5A">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the carrying value of goodwill were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;77,388&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of Manatee Works, Inc. &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;81,448&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of AQSense, S.L. &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,383&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of EnShape GmbH&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,613&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of Chiaro Technologies LLC &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,911&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Acquisition of Webscan, Inc.&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;925&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;95,280&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
	<us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock contextRef="FD2016Q4YTD" id="Fact-7B46E212C31C5DCBC5EC1A27E52B5F47">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:85%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;590&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,813&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:86%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts receivable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;504&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;296&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;680&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;840&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;925&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts payable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(77&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,176&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:86%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;167&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts receivable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;79&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Property, plant, and equipment&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;44&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;447&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,089&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,613&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts payable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(6&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(209&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued income taxes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,342&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,901&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:86%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accounts receivable&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;168&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;598&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;384&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,383&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(14&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,519&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The purchase price was allocated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:86%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid expenses and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,911&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(115&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Purchase price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
	<us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="FD2016Q4YTD" id="Fact-777177A8ABEA9A88734C1A27E530342A">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories consisted of the following (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:67%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Raw materials&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;18,224&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;27,301&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Work-in-process&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,760&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,136&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Finished goods&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,897&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;26,984&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,334&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
	<us-gaap:ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock contextRef="FD2016Q4YTD" id="Fact-2D30AF8E66F699D79A841A27E5432461">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company had the following outstanding forward contracts (in thousands): &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;Currency&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;Notional Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;USD Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;Notional Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;"&gt;USD Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:10px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;United States Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,720&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,720&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;342,500&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,960&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;942,500&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,605&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;39,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;130&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;547,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,893&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Singapore Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;150&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;97&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,063&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,425&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Canadian Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;34&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="12" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;650,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,554&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;700,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,800&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,658&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,650&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,441&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Korean Won&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,750,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,450&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,400,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,187&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;425,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,448&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;250,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;857&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Singapore Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;929&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,525&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,074&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Taiwanese Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;802&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;26,425&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;800&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock>
	<us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="FD2016Q4YTD" id="Fact-1A1B8FD3AF7EB24C829C1A27E542AA9F">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,086&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,383&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(3,873&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(422&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,174&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,001&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,689&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(151&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,335&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
	<us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock contextRef="FD2016Q4YTD" id="Fact-DA8BEE1D51DE2AAD2AF51A27E54AFDEC">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes information about geographic areas (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="20" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:31%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;United&amp;#160;States&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Europe&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Greater China &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Year Ended December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;136,611&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;231,731&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;63,471&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;88,940&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;520,753&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-lived assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;40,404&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,981&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;994&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,932&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;56,311&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Year Ended December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;119,781&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;199,127&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;54,137&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;77,512&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;450,557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-lived assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;40,742&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12,498&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;873&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,781&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;55,894&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Year Ended December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;120,523&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;195,214&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,184&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;72,528&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;426,449&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-lived assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;33,750&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,941&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;858&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,919&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,468&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
	<us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="FD2016Q4YTD" id="Fact-F9D25BEDAF5F95462CA61A27E5331E52">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s stock option activity:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:45%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Shares&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Exercise&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Remaining&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Contractual&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Term&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;(in&amp;#160;years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Aggregate&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Intrinsic Value&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;6,644&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;28.27&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,930&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35.58&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercised&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,977&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21.99&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(164&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37.45&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6,433&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;32.16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;202,368&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercisable as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,037&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;22.21&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;84,359&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Options vested or expected to vest as of&amp;#160;&lt;br clear="none"/&gt;&amp;#160;December 31, 2016 (1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,837&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;31.52&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;187,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-left:4px;padding-top:12px;text-align:left;padding-left:48px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
	<us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="FD2016Q4YTD" id="Fact-9DD50207344FE4E653AC1A27E5370743">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:56%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year&amp;#160;Ended&amp;#160;December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Risk-free rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1.7&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.6&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected dividend yield&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;0.83&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1.25&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected volatility&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;41&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;40&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected term (in years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.6&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
	<us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock contextRef="FD2016Q4YTD" id="Fact-6CFF8677B355667915521A27E53D4D6F">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of December&amp;#160;31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="24" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:35%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized Loss&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Position For Less than&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;12 Months&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized Loss&lt;br clear="none"/&gt;Position For Greater than&lt;br clear="none"/&gt;12 Months&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized&lt;br clear="none"/&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Unrealized&lt;br clear="none"/&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;117,853&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(400&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14,931&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(30&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;132,784&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(430&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;99,358&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(199&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;99,358&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(199&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45,429&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(70&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,998&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;51,427&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(74&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;27,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;27,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(140&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,028&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,028&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(5&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;294,355&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(814&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;20,929&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(34&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;315,284&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(848&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock>
	<us-gaap:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-33A947EBC4B01A4285011A27E549467F">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;COGNEX CORPORATION &amp;#8211; SCHEDULE II &amp;#8211; VALUATION AND QUALIFYING ACCOUNTS&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="25" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:28%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:4%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:4%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Additions&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Description&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Balance&amp;#160;at&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Beginning&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;of Period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Charged&amp;#160;to&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Costs and&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Charged&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;to Other&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Accounts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Deductions&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Balance&amp;#160;at&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;End of&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="23" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;(In thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Reserve&amp;#160;for&amp;#160;Uncollectible Accounts Receivable:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;736&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;216&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(64&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(a)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(15&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(b)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;873&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;820&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(44&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(a)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(40&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(b)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;736&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;909&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(a)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(57&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(b)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;820&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Reserve&amp;#160;for Excess and Obsolete&amp;#160;Inventory:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,803&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,641&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(4,075&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(a)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(52&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(c)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,317&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,058&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,562&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(2,443&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(a)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(374&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(c)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,803&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,301&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,204&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,978&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(a)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(469&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(c)&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,058&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Deferred Tax Valuation Allowance:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,259&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;857&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,116&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,483&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;817&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(41&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,259&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,758&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;725&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,483&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="padding-top:12px;font-family:Times New Roman; font-size:10pt;"&gt;&lt;tr&gt;&lt;td style="width:48px;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top" rowspan="1" colspan="1"&gt;&lt;div style="line-height:120%;font-size:10pt;padding-left:0px;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(a)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;" rowspan="1" colspan="1"&gt;&lt;div style="line-height:120%;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Specific write-offs&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"&gt;&lt;tr&gt;&lt;td style="width:48px;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top" rowspan="1" colspan="1"&gt;&lt;div style="line-height:120%;font-size:10pt;padding-left:0px;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(b)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;" rowspan="1" colspan="1"&gt;&lt;div style="line-height:120%;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Collections of previously written-off accounts and foreign currency exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"&gt;&lt;tr&gt;&lt;td style="width:48px;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top" rowspan="1" colspan="1"&gt;&lt;div style="line-height:120%;font-size:10pt;padding-left:0px;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(c)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;" rowspan="1" colspan="1"&gt;&lt;div style="line-height:120%;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
	<us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock contextRef="FD2016Q4YTD" id="Fact-91E069E69DC6064FE0F51A27E536D390">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="9" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:56%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;color:#ee2724;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic weighted-average common shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;85,338&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;86,296&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;86,858&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Effect of dilutive stock options&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,734&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,695&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,213&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Diluted weighted-average common and common-equivalent shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;87,072&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;87,991&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;89,071&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
	<us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="FD2016Q4YTD" id="Fact-99A2186F0B7165894C281A27E536BB26">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Estimated amortization expense for each of the five succeeding fiscal years and thereafter is as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,311&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,770&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,395&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;971&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;794&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,071&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,312&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
	<us-gaap:SegmentReportingDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-28F2A856E2A51C2248091A27E53ADA9B">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Segment and Geographic Information&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  Prior to this date, the Company had reported SISD as one of its &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;two&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; segments.  Given the disposition of the SISD segment, management reviewed its segment reporting and concluded that the Company now operates in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;one&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; segment, machine vision technology.  Operating segments were not aggregated in reaching this conclusion.  The Company&amp;#8217;s chief operating decision maker is the chief executive officer, who makes decisions to allocate resources and assesses performance at the corporate level.  The Company offers a variety of machine vision products that have similar economic characteristics, have the same production processes, and are distributed by the same sales channels to the same types of customers.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes information about geographic areas (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="20" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:31%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;United&amp;#160;States&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Europe&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Greater China &lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Year Ended December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;136,611&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;231,731&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;63,471&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;88,940&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;520,753&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-lived assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;40,404&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,981&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;994&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,932&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;56,311&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Year Ended December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;119,781&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;199,127&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;54,137&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;77,512&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;450,557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-lived assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;40,742&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12,498&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;873&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,781&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;55,894&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Year Ended December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;120,523&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;195,214&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,184&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;72,528&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;426,449&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-lived assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;33,750&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,941&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;858&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,919&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,468&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue is presented geographically based upon the customer&amp;#8217;s country of domicile.  Revenue from a single customer accounted for &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;19%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of total revenue in 2016, 2015, and 2014, respectively.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
	<us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="FD2016Q4YTD" id="Fact-42961D045AE4728791C91A27E53012C9">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Stock-Based Compensation&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  The Company has reserved a specific number of shares of its authorized but unissued shares for issuance upon the exercise of stock options or the granting of restricted stock.  When a stock option is exercised or a restricted stock award is granted, the Company issues new shares from this pool.  The fair values of stock options are estimated on the grant date using a binomial lattice model.  Management is responsible for determining the appropriate valuation model and estimating these fair values, and in doing so, considers a number of factors, including information provided by an outside valuation advisor.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes compensation expense related to stock options using the graded attribution method, in which expense is recognized on a straight-line basis over the service period for each separately vesting portion of the stock option as if the option was, in substance, multiple awards.  The amount of compensation expense recognized at the end of the vesting period is based upon the number of stock options for which the requisite service has been completed. No compensation expense is recognized for options that are forfeited for which the employee does not render the requisite service.  The term &amp;#8220;forfeitures&amp;#8221; is distinct from &amp;#8220;expirations&amp;#8221; and represents only the unvested portion of the surrendered option.  The Company applies estimated forfeiture rates to its unvested options to arrive at the amount of compensation expense that is expected to be recognized over the requisite service period.  At the end of each separately vesting portion of an option, the expense that was recognized by applying the estimated forfeiture rate is compared to the expense that should be recognized based upon the employee&amp;#8217;s service, and a credit to expense is recorded related to those employees that have not rendered the requisite service.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
	<us-gaap:SignificantAccountingPoliciesTextBlock contextRef="FD2016Q4YTD" id="Fact-77A023F2B41C88AAE16A1A27E5488F12">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Summary of Significant Accounting Policies&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The accompanying consolidated financial statements reflect the application of the significant accounting policies described below.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Nature of Operations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cognex Corporation is a leading provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, where vision is required.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Use of Estimates in the Preparation of Financial Statements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S.&amp;#160;GAAP) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and the disclosure of contingent liabilities as of the balance sheet date, and the reported amounts of revenues and expenses during the year.  Actual results could differ from those estimates.  Significant estimates and judgments include those related to revenue recognition, investments, accounts receivable, inventories, long-lived assets, goodwill, warranty obligations, contingencies, stock-based compensation, income taxes and derivative instruments.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Basis of Consolidation&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The consolidated financial statements include the accounts of Cognex Corporation and its subsidiaries, all of which are wholly-owned.  All intercompany accounts and transactions have been eliminated.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Foreign Currency Translation&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The financial statements of the Company&amp;#8217;s foreign subsidiaries, where the local currency is the functional currency, are translated using exchange rates in effect at the end of the year for assets and liabilities and average exchange rates during the year for results of operations.  The resulting foreign currency translation adjustment, net of tax, is recorded in shareholders&amp;#8217; equity as other comprehensive income (loss).&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Fair Value Measurements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company applies a three-level valuation hierarchy for fair value measurements.  The categorization of assets and liabilities within the valuation hierarchy is based upon the lowest level of input that is significant to the measurement of fair value.  Level&amp;#160;1 inputs to the valuation methodology utilize unadjusted quoted market prices in active markets for identical assets and liabilities.  Level 2 inputs to the valuation methodology are other observable inputs, including quoted market prices for similar assets and liabilities, quoted prices for identical and similar assets and liabilities in markets that are not active, or other inputs that are observable or can be corroborated by observable market data. Level 3 inputs to the valuation methodology are unobservable inputs based upon management&amp;#8217;s best estimate of the inputs that market participants would use in pricing the asset or liability at the measurement date, including assumptions about risk.  A change to the level of an asset or liability within the fair value hierarchy is determined at the end of a reporting period.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Cash, Cash Equivalents, and Investments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments purchased with original maturities of three months or less are classified as cash equivalents and are stated at amortized cost.  Debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as short-term investments, as well as equity securities that the Company intends to sell within one year.  Debt securities with remaining maturities greater than one year, as well as a limited partnership interest, are classified as long-term investments.  It is the Company&amp;#8217;s policy to invest in debt securities with effective maturities that do not exceed &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ten&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax, recorded in shareholders&amp;#8217; equity as other comprehensive income (loss).  Equity securities that are held for short periods of time with the intention of selling them in the near term are designated as trading and are reported at fair value, with unrealized gains and losses recorded in current operations.  Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method.  The Company&amp;#8217;s limited partnership interest is accounted for using the cost method because the Company&amp;#8217;s investment is less than &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of the partnership and the Company has no influence over the partnership&amp;#8217;s operating and financial policies. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Management monitors the carrying value of its investments in debt securities and a limited partnership interest compared to their fair value to determine whether an other-than-temporary impairment has occurred.  If the fair value of a debt security is less than its amortized cost, the Company assesses whether the impairment is other-than-temporary.  In considering whether a decline in fair value is other-than-temporary, we consider many factors.  In its evaluation of its debt securities, management considers the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our intent and ability to hold the security to expected recovery of value, and other meaningful information.  An impairment is considered other-than-temporary if (i)&amp;#160;the Company has the intent to sell the security, (ii)&amp;#160;it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis, or (iii)&amp;#160;the Company does not expect to recover the entire amortized cost basis of the security.  If impairment is considered other-than-temporary based upon condition (i)&amp;#160;or (ii)&amp;#160;described above, the entire difference between the amortized cost and the fair value of the security is recognized in current operations.  If an impairment is considered other-than-temporary based upon condition (iii), the amount representing credit losses (defined as the difference between the present value of the cash flows expected to be collected and the amortized cost basis of the security) is recognized in current operations and the amount relating to all other factors is recognized in shareholders' equity as other comprehensive income (loss).  In its evaluation of its limited partnership interest, management considers the duration and extent of the decline, the length of the Company&amp;#8217;s commitment to the investment, general economic trends, and specific communications with the General Partner.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounts Receivable&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition.  Accounts that are outstanding longer than the payment terms are considered to be past due.  The Company establishes reserves against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer&amp;#8217;s current ability to pay its obligations to the Company, general economic and industry conditions, as well as various other factors.  Receivables are written off against these reserves in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Inventories&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories are stated at the lower of cost or market.  Cost is determined using standard costs, which approximates actual costs under the first-in, first-out (FIFO) method.  The Company&amp;#8217;s inventory is subject to rapid technological change or obsolescence.  The Company reviews inventory quantities on hand and estimates excess and obsolescence exposures based upon assumptions about future demand, product transitions, and market conditions, and records reserves to reduce the carrying value of inventories to their net realizable value.  If actual future demand is less than estimated, additional inventory write-downs would be required.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company generally disposes of obsolete inventory upon determination of obsolescence.  The Company does not dispose of excess inventory immediately, due to the possibility that some of this inventory could be sold to customers as a result of differences between actual and forecasted demand.  When inventory has been written down below cost, such reduced amount is considered the new cost basis for subsequent accounting purposes.  As a result, the Company would recognize a higher than normal gross margin if the reserved inventory were subsequently sold.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Property, Plant, and Equipment&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Property, plant, and equipment are stated at cost and depreciated using the straight-line method over the assets&amp;#8217; estimated useful lives.  Buildings&amp;#8217; useful lives are &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;39&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, building improvements&amp;#8217; useful lives are &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ten&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, and the useful lives of computer hardware and software, manufacturing test equipment, and furniture and fixtures range from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;two&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.  Leasehold improvements are depreciated over the shorter of the estimated useful lives or the remaining terms of the leases.  Maintenance and repairs are expensed when incurred; additions and improvements are capitalized.  Upon retirement or disposition, the cost and related accumulated depreciation of the disposed assets are removed from the accounts, with any resulting gain or loss included in current operations.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Goodwill&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Goodwill is stated at cost.  The Company evaluates the possible impairment of goodwill annually each fourth quarter and whenever events or circumstances indicate the carrying value of the goodwill may not be recoverable.  For the past &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, the Company has performed a qualitative assessment of goodwill (commonly known as &amp;#8220;step zero&amp;#8221;) to determine whether further impairment testing is necessary.  Factors that management considers in this assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, and changes in the composition or carrying amount of net assets. In addition, management takes into consideration the goodwill valuation under the last quantitative analysis that was performed.  If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, the entity would proceed to a two-step process.  Step one compares the fair value of the reporting unit with its carrying value, including goodwill.  If the carrying amount exceeds the fair value of the reporting unit, step two is required to measure the amount of impairment loss.  Step two compares the implied fair value of the reporting unit goodwill to the carrying amount of the goodwill.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Intangible Assets&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Intangible assets are stated at cost and amortized over the assets&amp;#8217; estimated useful lives.  Intangible assets are either amortized in relation to the relative cash flows anticipated from the intangible asset or using the straight-line method, depending upon facts and circumstances.  The useful lives of distribution networks range from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;eleven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;twelve&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, of customer contracts and relationships from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;seven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, and of completed technologies and other intangible assets from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;five&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;seven&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.  The Company evaluates the possible impairment of long-lived assets, including intangible assets, whenever events or circumstances indicate the carrying value of the assets may not be recoverable. At the occurrence of a certain event or change in circumstances, the Company evaluates the potential impairment of an asset by estimating the future undiscounted cash flows expected to result from the use and eventual disposition of the asset.  If the sum of the estimated future cash flows is less than the carrying value, the Company determines the amount of such impairment by comparing the fair value of the asset to its carrying value.  The fair value is based upon the present value of the estimated future cash flows using a discount rate commensurate with the risks involved.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Warranty Obligations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company warrants its products to be free from defects in material and workmanship for periods primarily ranging from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;one&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years from the time of sale based upon the product being purchased and the terms of the customer arrangement.  Warranty obligations are evaluated and recorded at the time of sale since it is probable that customers will make claims under warranties related to products that have been sold and the amount of these claims can be reasonably estimated based upon historical costs to fulfill claims.  Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Contingencies&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Loss contingencies are accrued if the loss is probable and the amount of the loss can be reasonably estimated.  Legal costs associated with potential loss contingencies, such as patent infringement matters, are expensed as incurred.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Revenue Recognition&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s product revenue is derived from the sale of machine vision systems, which can take the form of hardware with embedded software or software-only, and related accessories.  The Company also generates revenue by providing maintenance and support, consulting, and training services to its customers.  Certain of the Company&amp;#8217;s arrangements include multiple deliverables that provide the customer with a combination of products or services.  In order to recognize revenue, the Company requires that a signed customer contract or purchase order is received, the fee from the arrangement is fixed or determinable, and collection of the resulting receivable is probable.  Assuming that these criteria have been met, product revenue is generally recognized upon delivery, revenue from maintenance and support programs is recognized ratably over the program period, and revenue from consulting and training services is recognized when the services have been provided.  When customer-specified acceptance criteria exists that are substantive, product revenue is deferred, along with associated incremental direct costs, until these criteria have been met and any remaining performance obligations are inconsequential or perfunctory.&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;For the majority of the Company&amp;#8217;s revenue transactions, revenue recognition and invoicing both occur upon delivery.  In certain circumstances, however, the agreement with the customer provides for invoicing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Invoicing that precedes revenue recognition is common for various customers in the logistics industry where milestone billings are prevalent, resulting in deferred revenue.  Conversely, the Company records unbilled revenue in connection with a material customer in the consumer electronics industry.  For this arrangement, the Company recognizes revenue for all delivered products when the first production line that incorporates these products is validated, because at that point the remaining performance obligations are inconsequential or perfunctory.  Invoicing for all delivered products occurs as the production lines incorporating those products are installed over a period of several weeks.  The Company also has a technical support obligation related to this arrangement for which revenue is deferred and recognized over the support period of approximately six months.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The majority of the Company&amp;#8217;s product offerings consist of hardware with embedded software.  Under the revenue recognition rules for tangible products, the fee from a multiple-deliverable arrangement is allocated to each of the deliverables based upon their relative selling prices as determined by a selling-price hierarchy.  A deliverable in an arrangement qualifies as a separate unit of accounting if the delivered item has value to the customer on a stand-alone basis.  A delivered item that does not qualify as a separate unit of accounting is combined with the other undelivered items in the arrangement and revenue is recognized for those combined deliverables as a single unit of accounting. The selling price used for each deliverable is based upon vendor-specific objective evidence (VSOE) if available, third-party evidence (TPE) if VSOE is not available, and management&amp;#8217;s best estimate of selling price (BESP) if neither VSOE nor TPE are available. VSOE is the price charged for a deliverable when it is sold separately.  TPE is the price of the Company&amp;#8217;s or any competitor&amp;#8217;s largely interchangeable products or services in stand-alone sales to similarly-situated customers.  BESP is the price at which the Company would sell the deliverable if it were sold regularly on a stand-alone basis, considering market conditions and entity-specific factors.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The selling prices used in the relative selling price allocation method for (1)&amp;#160;certain of the Company&amp;#8217;s services are based upon VSOE, (2) third-party accessories available from other vendors are based upon TPE, and (3)&amp;#160;hardware products with embedded software, custom accessories, and services for which VSOE does not exist are based upon BESP.  The Company does not believe TPE exists for these products and services because they are differentiated from competing products and services in terms of functionality and performance and there are no competing products or services that are largely interchangeable.  BESP has been established for each product line within each region. Management establishes BESP with consideration for market conditions, such as the impact of competition and geographic considerations, and entity-specific factors, such as pricing practices, gross margin objectives, customer size, and market share goals.  Management believes that BESP is reflective of reasonable pricing of that deliverable as if priced on a stand-alone basis.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Under the revenue recognition rules for software-only products, the fee from a multiple-deliverable arrangement is allocated to each of the undelivered elements based upon VSOE, which is limited to the price charged when the same deliverable is sold separately, with the residual value from the arrangement allocated to the delivered element.  The portion of the fee that is allocated to each deliverable is then recognized as revenue when the criteria for revenue recognition are met with respect to that deliverable.  If VSOE does not exist for all of the undelivered elements, then all revenue from the arrangement is typically deferred until all elements have been delivered to the customer.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s products are sold directly to end users, as well as to resellers including original equipment manufacturers (OEMs), distributors, and integrators.  Revenue is recognized upon delivery of the product to the reseller, assuming all other revenue recognition criteria have been met.  The Company establishes reserves against revenue for potential product returns, since the amount of future returns can be reasonably estimated based upon experience.  These reserves have historically been immaterial.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Certain customers are offered pricing discounts on current sales based upon purchasing volumes or preferred pricing arrangements, for which revenue is reported net of these discounts. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company reports revenue for certain of its product accessory sales on a net basis, by reducing the gross sale amount by the related costs, when certain factors in the arrangement with the customer indicate that the Company is acting as an agent, rather than as a principal.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amounts billed to customers related to shipping and handling, as well as reimbursements received from customers for out-of-pocket expenses, are classified as revenue, with the associated costs included in cost of revenue.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Research and Development&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research and development costs for internally-developed or acquired products are expensed when incurred until technological feasibility has been established for the product.  Thereafter, all software costs may be capitalized until the product is available for general release to customers.  The Company determines technological feasibility at the time the product reaches beta in its stage of development.  Historically, the time incurred between beta and general release to customers has been short, and therefore, the costs have been insignificant. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Advertising Costs&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Advertising costs are expensed as incurred and totaled &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,674,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,009,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,609,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Stock-Based Compensation&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  The Company has reserved a specific number of shares of its authorized but unissued shares for issuance upon the exercise of stock options or the granting of restricted stock.  When a stock option is exercised or a restricted stock award is granted, the Company issues new shares from this pool.  The fair values of stock options are estimated on the grant date using a binomial lattice model.  Management is responsible for determining the appropriate valuation model and estimating these fair values, and in doing so, considers a number of factors, including information provided by an outside valuation advisor.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes compensation expense related to stock options using the graded attribution method, in which expense is recognized on a straight-line basis over the service period for each separately vesting portion of the stock option as if the option was, in substance, multiple awards.  The amount of compensation expense recognized at the end of the vesting period is based upon the number of stock options for which the requisite service has been completed. No compensation expense is recognized for options that are forfeited for which the employee does not render the requisite service.  The term &amp;#8220;forfeitures&amp;#8221; is distinct from &amp;#8220;expirations&amp;#8221; and represents only the unvested portion of the surrendered option.  The Company applies estimated forfeiture rates to its unvested options to arrive at the amount of compensation expense that is expected to be recognized over the requisite service period.  At the end of each separately vesting portion of an option, the expense that was recognized by applying the estimated forfeiture rate is compared to the expense that should be recognized based upon the employee&amp;#8217;s service, and a credit to expense is recorded related to those employees that have not rendered the requisite service.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Taxes&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes a tax position in its financial statements when that tax position, based solely upon its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority.  Those tax positions failing to qualify for initial recognition are recognized in the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statutes of limitations.  Derecognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Only the portion of the liability that is expected to be paid within one year is classified as a current liability.  As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statutes of limitations) or are not expected to be paid within one year are not classified as current.  It is the Company&amp;#8217;s policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Deferred tax assets and liabilities are determined based upon the differences between the financial statement and tax bases of assets and liabilities as measured by the enacted tax rates that will be in effect when these differences reverse. Valuation allowances are provided if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sales tax in the United States and similar taxes in other jurisdictions that are collected from customers and remitted to government authorities are presented on a gross basis (i.e., a receivable from the customer with a corresponding payable to the government).  Amounts collected from customers and retained by the Company during tax holidays are recognized as non-operating income when earned.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Net Income Per Share&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period.  Diluted net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period plus potential dilutive common shares.  Dilutive common equivalent shares consist of stock options and are calculated using the treasury stock method.  Common equivalent shares do not qualify as participating securities.  In periods where the Company records a net loss, potential common stock equivalents are not included in the calculation of diluted net loss per share. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Comprehensive Income&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Comprehensive income is defined as the change in equity of a company during a period from transactions and other events and circumstances, excluding transactions resulting from investments by owners and distributions to owners. Accumulated other comprehensive loss, net of tax, as of December 31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and December 31, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, consists of foreign currency translation adjustments of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$55,262,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$49,646,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively; net unrealized gains on available-for-sale investments of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$68,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and net unrealized losses on available-for-sale investments of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,413,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively; net unrealized gains on derivative instruments of $&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and $&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;206,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively; and losses on currency swaps, net of gains on long-term intercompany loans of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,271,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in each year. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amounts reclassified from accumulated other comprehensive income to investment income on the Consolidated Statements of Operations were net realized gains of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$191,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$344,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$673,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2016&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2015&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Concentrations of Risk&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash, cash equivalents, investments, and trade receivables.  The Company has certain domestic and foreign cash balances that exceed the insured limits set by the Federal Deposit Insurance Corporation (FDIC) in the United States and equivalent regulatory agencies in foreign countries.  The Company primarily invests in investment-grade debt securities and has established guidelines relative to credit ratings, diversification, and maturities of its debt securities that maintain safety and liquidity.  The Company has not experienced any significant realized losses on its debt securities.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company performs ongoing credit evaluations of its customers and maintains allowances for potential credit losses. The Company has not experienced any significant losses related to the collection of its accounts receivable.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;A significant portion of the Company's product is manufactured by a third-party contractor located in Indonesia.  This contractor has agreed to provide Cognex with termination notification periods and last-time-buy rights, if and when that may be applicable.  We rely upon this contractor to provide quality product and meet delivery schedules.  We engage in extensive product quality programs and processes, including actively monitoring the performance of our third-party manufacturers; however, we may not detect all product quality issues through these programs and processes.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Certain components are presently sourced from a single vendor that is selected based on price and performance considerations.  In the event of a supply disruption from a single-source vendor, these components may be purchased from an alternative vendor, which may result in manufacturing delays based on the lead time of the new vendor.  Certain key electronic and mechanical components that are purchased from strategic suppliers, such as processors or imagers, are fundamental to the design of Cognex products.  A disruption in the supply of these key components, such as a last-time-buy announcement, natural disaster, financial bankruptcy, or other event, may require us to purchase a significant amount of inventory at unfavorable prices resulting in lower gross margins and higher risk of carrying excess inventory.  If we are unable to secure adequate supply from alternative sources, we may have to redesign our products, which may lead to a delay in manufacturing and a possible loss of sales.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Derivative Instruments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Derivative instruments are recorded on the Consolidated Balance Sheets at fair value.  Changes in the fair value of derivatives are recorded each period in current operations or in shareholders' equity as other comprehensive income (loss), depending upon whether the derivative is designated as a hedge transaction and, if it is, the effectiveness of the hedge.  At the inception of the contract, the Company designates foreign currency forward exchange contracts as either a cash flow hedge of certain forecasted foreign currency denominated sales and purchase transactions or as an economic hedge.  Changes in the fair value of a derivative that is highly effective and that is designated and qualifies as a cash flow hedge are recorded in shareholders' equity as other comprehensive income (loss), and reclassified into current operations in the same period during which the hedged transaction affects current operations and in the same financial statement line item as that of the forecasted transaction.  Cash flow hedges are evaluated for effectiveness quarterly.  Any hedge ineffectiveness (which represents the amount by which the changes in the fair value of the derivative exceed the variability in the cash flows of the forecasted transaction) is recorded in current operations in the period in which ineffectiveness is determined.  Changes in the fair value of the Company&amp;#8217;s economic hedges (not designated as a cash flow hedge) are reported in current operations.  The cash flows from derivative instruments are presented in the same category on the Consolidated Statements of Cash Flows as the category for the cash flows from the hedged item.  Generally, this accounting policy election results in cash flows related to derivative instruments being classified as an operating activity on the Consolidated Statements of Cash Flows.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk-management objective and strategy for undertaking various hedge transactions.  This process includes linking all derivatives that are designated as cash flow hedges to specific forecasted transactions.  The Company also formally assesses (both at the hedge&amp;#8217;s inception and on an ongoing basis) whether the derivatives that are used in hedging transactions have been highly effective in offsetting changes in the fair value or cash flows of hedged items and whether those derivatives may be expected to remain highly effective in future periods.  When it is determined that a derivative is not (or has ceased to be) highly effective as a hedge, the Company discontinues hedge accounting prospectively, as discussed below.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company discontinues hedge accounting prospectively when (1) it determines that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item; (2) the derivative expires or is sold, terminated, or exercised; (3) it is no longer probable that the forecasted transaction will occur; or (4) management determines that designating the derivative as a hedging instrument is no longer appropriate or desired.  When the Company discontinues hedge accounting because it is no longer probable that the forecasted transaction will occur in the originally expected period, the gain or loss on the derivative remains in accumulated other comprehensive income (loss) and is reclassified into current operations when the forecasted transaction affects current operations.  However, if it is probable that a forecasted transaction will not occur by the end of the originally specified time period or within an additional two-month period of time thereafter, the gain or loss that was accumulated in other comprehensive income (loss) is recognized immediately in current operations.  In all situations in which hedge accounting is discontinued and the derivative remains outstanding, the Company carries the derivative at fair value on the Consolidated Balance Sheets, recognizing changes in the fair value in current operations, unless it is designated in a new hedging relationship.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes all derivative instruments as either current assets or current liabilities at fair value on the Consolidated Balance Sheets.  When the Company is engaged in more than one outstanding derivative contract with the same counterparty and also has a legally enforceable master netting agreement with that counterparty, the &amp;#8220;net&amp;#8221; mark-to-market exposure represents the netting of the positive and negative exposures with that counterparty.  Accordingly, cash flow hedges are presented net on the Consolidated Balance Sheets.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
	<us-gaap:StandardProductWarrantyPolicy contextRef="FD2016Q4YTD" id="Fact-DBC857C1779B6E617D1A1A27E53585DF">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Warranty Obligations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company warrants its products to be free from defects in material and workmanship for periods primarily ranging from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;one&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years from the time of sale based upon the product being purchased and the terms of the customer arrangement.  Warranty obligations are evaluated and recorded at the time of sale since it is probable that customers will make claims under warranties related to products that have been sold and the amount of these claims can be reasonably estimated based upon historical costs to fulfill claims.  Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:StandardProductWarrantyPolicy>
	<us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="FD2016Q4YTD" id="Fact-B510A2EAA31B09D547901A27E535EEA5">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shareholders&amp;#8217; Equity&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Preferred Stock&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company has &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;400,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares of authorized but unissued &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$.01&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; par value preferred stock.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Common Stock&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On April 28, 2016, the Company's shareholders approved an amendment to the Company's Articles of Organization to increase the authorized number of shares of common stock from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;140,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;200,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Each outstanding share of common stock entitles the record holder to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;one&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; vote on all matters submitted to a vote of the Company&amp;#8217;s shareholders.  Common shareholders are also entitled to dividends when and if declared by the Company&amp;#8217;s Board of Directors.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Shareholder Rights Plan&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company has adopted a Shareholder Rights Plan, the purpose of which is, among other things, to enhance the Board of Directors&amp;#8217; ability to protect shareholder interests and to ensure that shareholders receive fair treatment in the event any coercive takeover attempt of the Company is made in the future.  The Shareholder Rights Plan could make it more difficult for a third party to acquire, or could discourage a third party from acquiring, the Company or a large block of the Company&amp;#8217;s common stock.  The following summary description of the Shareholder Rights Plan does not purport to be complete and is qualified in its entirety by reference to the Company&amp;#8217;s Shareholder Rights Plan, which has been previously filed by the Company with the Securities and Exchange Commission as an exhibit to a Registration Statement on Form&amp;#160;8-A filed on December&amp;#160;5, 2008.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In connection with the adoption of the Shareholder Rights Plan, the Board of Directors of the Company declared a dividend distribution of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;one&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;  purchase right (a &amp;#8220;Right&amp;#8221;) for each outstanding share of common stock to shareholders of record as of the close of business on December&amp;#160;5, 2008.  The Rights currently are not exercisable and are attached to and trade with the outstanding shares of common stock. Under the Shareholder Rights Plan, the Rights become exercisable if a person becomes an &amp;#8220;acquiring person&amp;#8221; by acquiring &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; or more of the outstanding shares of common stock or if a person commences a tender offer that would result in that person owning &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; or more of the common stock.  If a person becomes an &amp;#8220;acquiring person,&amp;#8221; each holder of a Right (other than the acquiring person) would be entitled to purchase, at the then-current exercise price, such number of shares of the Company&amp;#8217;s preferred stock which are equivalent to shares of common stock having twice the exercise price of the Right.  If the Company is acquired in a merger or other business combination transaction after any such event, each holder of a Right would then be entitled to purchase, at the then-current exercise price, shares of the acquiring company&amp;#8217;s common stock having a value of twice the exercise price of the Right.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Stock Repurchases&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In August 2015, the Company's Board of Directors authorized the repurchase of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$100,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of the Company's common stock.  As of December 31, 2016, the Company repurchased &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,666,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$100,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; under this program, including &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;355,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$16,064,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in 2016.  Stock repurchases under this August 2015 program are now complete.  In November 2015, the Company's Board of Directors authorized the repurchase of an additional &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$100,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of the Company's common stock.  Purchases under this November 2015 program commenced in  2016 upon completion of the August 2015 program.  As of December 31, 2016, the Company repurchased &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;539,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$31,085,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; under this program, leaving a remaining authorized balance of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$68,915,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  Total stock repurchases in 2016 amounted to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$47,149,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Dividends&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s Board of Directors declared and paid cash dividends of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$0.07&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; per share in the second, third, and fourth quarters of 2015, as well as in the first quarter of 2016.  The dividend was increased to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$0.075&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in the second, third, and fourth quarters of 2016.  Total cash dividends paid in 2016 amounted to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$25,213,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  The cash dividend in the second quarter of 2015 was the first dividend declared and paid since the fourth quarter of 2012 when the Company&amp;#8217;s Board of Directors accelerated dividends in advance of an increase in the federal tax on dividends paid after December 31, 2012.  Due to these accelerated payments, no cash dividends were declared or paid in 2013, 2014, or the first quarter of 2015.  Future dividends will be declared at the discretion of the Company's Board of Directors and will depend upon such factors as the Board deems relevant, including, among other things, the Company's ability to generate positive cash flow from operations.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
	<us-gaap:SubsequentEventsTextBlock contextRef="FD2016Q4YTD" id="Fact-4646257161B0DD1A9B6A1A27E52A8AD4">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Subsequent Events&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On February 15, 2017, the Company's Board of Directors declared a cash dividend of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$0.075&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; per share.  The dividend is payable &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;March 17, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to all shareholders of record as of the close of business on &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;March 3, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
	<us-gaap:SummaryOfIncomeTaxContingenciesTextBlock contextRef="FD2016Q4YTD" id="Fact-C752DA63129630073DEC1A27E5363B55">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the reserve for income taxes, excluding gross interest and penalties, were as follows (in thousands):&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance of reserve for income taxes as of December 31, 2014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,127&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in prior periods&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(56&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,291&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,066&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance of reserve for income taxes as of December 31, 2015&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,296&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in prior periods&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,235&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(823&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance of reserve for income taxes as of December 31, 2016&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,719&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SummaryOfIncomeTaxContingenciesTextBlock>
	<us-gaap:UseOfEstimates contextRef="FD2016Q4YTD" id="Fact-D64ECF05AC8F8C58A0DD1A27E53BFDCC">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Use of Estimates in the Preparation of Financial Statements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S.&amp;#160;GAAP) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and the disclosure of contingent liabilities as of the balance sheet date, and the reported amounts of revenues and expenses during the year.  Actual results could differ from those estimates.  Significant estimates and judgments include those related to revenue recognition, investments, accounts receivable, inventories, long-lived assets, goodwill, warranty obligations, contingencies, stock-based compensation, income taxes and derivative instruments&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
	<link:footnoteLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
	</link:footnoteLink>
</xbrli:xbrl>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>9
<FILENAME>cgnx-20161231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://cognex.com/20161231" xmlns:cgnx="http://cognex.com/20161231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:us-types="http://fasb.org/us-types/2016-01-31" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:import namespace="http://fasb.org/us-gaap/2016-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2016-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2016/elts/us-roles-2016-01-31.xsd" />
  <xsd:import namespace="http://fasb.org/us-types/2016-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2016/elts/us-types-2016-01-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2016-01-31" schemaLocation="http://xbrl.sec.gov/country/2016/country-2016-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/currency/2016-01-31" schemaLocation="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2014-01-31" schemaLocation="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/exch/2016-01-31" schemaLocation="http://xbrl.sec.gov/exch/2016/exch-2016-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/invest/2013-01-31" schemaLocation="http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/naics/2011-01-31" schemaLocation="http://xbrl.sec.gov/naics/2011/naics-2011-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/sic/2011-01-31" schemaLocation="http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2011-01-31" schemaLocation="http://xbrl.sec.gov/stpr/2011/stpr-2011-01-31.xsd" />
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20161231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20161231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20161231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20161231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple" />
      <link:roleType id="AccruedExpenses" roleURI="http://cognex.com/role/AccruedExpenses">
        <link:definition>2109100 - Disclosure - Accrued Expenses</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedExpensesChangesInWarrantyObligationsDetail" roleURI="http://cognex.com/role/AccruedExpensesChangesInWarrantyObligationsDetail">
        <link:definition>2409403 - Disclosure - Accrued Expenses - Changes in Warranty Obligations (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedExpensesConstituentsOfAccruedExpensesDetail" roleURI="http://cognex.com/role/AccruedExpensesConstituentsOfAccruedExpensesDetail">
        <link:definition>2409402 - Disclosure - Accrued Expenses - Constituents of Accrued Expenses (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccruedExpensesTables" roleURI="http://cognex.com/role/AccruedExpensesTables">
        <link:definition>2309301 - Disclosure - Accrued Expenses (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Acquisitions" roleURI="http://cognex.com/role/Acquisitions">
        <link:definition>2122100 - Disclosure - Acquisitions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsAcquisitionsDetails" roleURI="http://cognex.com/role/AcquisitionsAcquisitionsDetails">
        <link:definition>2422402 - Disclosure - Acquisitions Acquisitions - (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsAcquisitionsTables" roleURI="http://cognex.com/role/AcquisitionsAcquisitionsTables">
        <link:definition>2322301 - Disclosure - Acquisitions Acquisitions - (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsAqsenseSLNarrativeDetails" roleURI="http://cognex.com/role/AcquisitionsAqsenseSLNarrativeDetails">
        <link:definition>2422409 - Disclosure - Acquisitions - AQSense, S.L. Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsAqsenseSLPurchasePriceAllocationDetails" roleURI="http://cognex.com/role/AcquisitionsAqsenseSLPurchasePriceAllocationDetails">
        <link:definition>2422410 - Disclosure - Acquisitions - AQSense, S.L. Purchase Price Allocation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsChiaroTechnologiesLlcDetails" roleURI="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcDetails">
        <link:definition>2422405 - Disclosure - Acquisitions - Chiaro Technologies LLC (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" roleURI="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails">
        <link:definition>2422406 - Disclosure - Acquisitions - Chiaro Technologies LLC Purchase Price Allocation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsEnshapeGmbhNarrativeDetails" roleURI="http://cognex.com/role/AcquisitionsEnshapeGmbhNarrativeDetails">
        <link:definition>2422407 - Disclosure - Acquisitions - EnShape GmbH Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" roleURI="http://cognex.com/role/AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails">
        <link:definition>2422408 - Disclosure - Acquisitions - EnShape GmbH Purchase Price Allocation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsManateeWorksIncNarrativeDetails" roleURI="http://cognex.com/role/AcquisitionsManateeWorksIncNarrativeDetails">
        <link:definition>2422411 - Disclosure - Acquisitions - Manatee Works Inc. Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" roleURI="http://cognex.com/role/AcquisitionsManateeWorksIncPurchasePriceAllocationDetails">
        <link:definition>2422412 - Disclosure - Acquisitions - Manatee Works Inc. Purchase Price Allocation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsWebscanIncNarrativeDetails" roleURI="http://cognex.com/role/AcquisitionsWebscanIncNarrativeDetails">
        <link:definition>2422403 - Disclosure - Acquisitions - Webscan, Inc. Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsWebscanIncPurchasePriceAllocationDetails" roleURI="http://cognex.com/role/AcquisitionsWebscanIncPurchasePriceAllocationDetails">
        <link:definition>2422404 - Disclosure - Acquisitions - Webscan, Inc Purchase Price Allocation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestments" roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestments">
        <link:definition>2104100 - Disclosure - Cash, Cash Equivalents, and Investments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAdditionalInformationDetail">
        <link:definition>2404403 - Disclosure - Cash, Cash Equivalents and Investments - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail">
        <link:definition>2404404 - Disclosure - Cash, Cash Equivalents and Investments - Amortized Cost to Fair Value (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail">
        <link:definition>2404402 - Disclosure - Cash, Cash Equivalents and Investments - Components of Cash, Cash Equivalents and Investments (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail">
        <link:definition>2404406 - Disclosure - Cash, Cash Equivalents and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail">
        <link:definition>2404405 - Disclosure - Cash, Cash Equivalents and Investments - Gross Unrealized Losses and Fair Value for Available-for-Sale Investments (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CashCashEquivalentsAndInvestmentsTables" roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsTables">
        <link:definition>2304301 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsAndContingencies" roleURI="http://cognex.com/role/CommitmentsAndContingencies">
        <link:definition>2110100 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsAndContingenciesAdditionalInformationDetail" roleURI="http://cognex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail">
        <link:definition>2410402 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" roleURI="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail">
        <link:definition>2410403 - Disclosure - Commitments and Contingencies - Future Minimum Rental Payments Under Lease Agreements (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" roleURI="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail">
        <link:definition>2410404 - Disclosure - Commitments and Contingencies - Future Minimum Rental Receipts Under Non - Cancelable Lease Agreements (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsAndContingenciesTables" roleURI="http://cognex.com/role/CommitmentsAndContingenciesTables">
        <link:definition>2310301 - Disclosure - Commitments and Contingencies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheets" roleURI="http://cognex.com/role/ConsolidatedBalanceSheets">
        <link:definition>1003000 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedBalanceSheetsParenthetical" roleURI="http://cognex.com/role/ConsolidatedBalanceSheetsParenthetical">
        <link:definition>1003501 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfCashFlows" roleURI="http://cognex.com/role/ConsolidatedStatementsOfCashFlows">
        <link:definition>1004000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfComprehensiveIncome" roleURI="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome">
        <link:definition>1002000 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfComprehensiveIncomeParenthetical" roleURI="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical">
        <link:definition>1002501 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfOperations" roleURI="http://cognex.com/role/ConsolidatedStatementsOfOperations">
        <link:definition>1001000 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfOperationsParenthetical" roleURI="http://cognex.com/role/ConsolidatedStatementsOfOperationsParenthetical">
        <link:definition>1001501 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfShareholdersEquity" roleURI="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquity">
        <link:definition>1005000 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ConsolidatedStatementsOfShareholdersEquityParenthetical" roleURI="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquityParenthetical">
        <link:definition>1005501 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstruments" roleURI="http://cognex.com/role/DerivativeInstruments">
        <link:definition>2113100 - Disclosure - Derivative Instruments</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsBalanceSheetLocationDetails" roleURI="http://cognex.com/role/DerivativeInstrumentsBalanceSheetLocationDetails">
        <link:definition>2413404 - Disclosure - Derivative Instruments - Balance Sheet Location (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsChangesInAociDetails" roleURI="http://cognex.com/role/DerivativeInstrumentsChangesInAociDetails">
        <link:definition>2413407 - Disclosure - Derivative Instruments - Changes in AOCI (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" roleURI="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails">
        <link:definition>2413402 - Disclosure - Derivative Instruments Derivative Instruments - Additional Details (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" roleURI="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails">
        <link:definition>2413405 - Disclosure - Derivative Instruments Derivative Instruments - Assets and liabilities presented on a net basis due to the right of offset (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" roleURI="http://cognex.com/role/DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails">
        <link:definition>2413406 - Disclosure - Derivative Instruments - Gain (Loss) Recognized in Other Comprehensive Income (Loss) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsOutstandingForwardContractsDetails" roleURI="http://cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsDetails">
        <link:definition>2413403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DerivativeInstrumentsTables" roleURI="http://cognex.com/role/DerivativeInstrumentsTables">
        <link:definition>2313301 - Disclosure - Derivative Instruments (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DiscontinuedOperations" roleURI="http://cognex.com/role/DiscontinuedOperations">
        <link:definition>2121100 - Disclosure - Discontinued Operations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DiscontinuedOperationsDiscontinuedOperationsDetails" roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsDetails">
        <link:definition>2421402 - Disclosure - Discontinued Operations Discontinued Operations - (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails">
        <link:definition>2421403 - Disclosure - Discontinued Operations Discontinued Operations - Schedule of Discontinued Operations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DiscontinuedOperationsDiscontinuedOperationsTables" roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsTables">
        <link:definition>2321301 - Disclosure - Discontinued Operations Discontinued Operations - (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DocumentAndEntityInformation" roleURI="http://cognex.com/role/DocumentAndEntityInformation">
        <link:definition>0001000 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EmployeeSavingsPlan" roleURI="http://cognex.com/role/EmployeeSavingsPlan">
        <link:definition>2117100 - Disclosure - Employee Savings Plan</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EmployeeSavingsPlanAdditionalInformationDetail" roleURI="http://cognex.com/role/EmployeeSavingsPlanAdditionalInformationDetail">
        <link:definition>2417401 - Disclosure - Employee Savings Plan - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurements" roleURI="http://cognex.com/role/FairValueMeasurements">
        <link:definition>2103100 - Disclosure - Fair Value Measurements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" roleURI="http://cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail">
        <link:definition>2403402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" roleURI="http://cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails">
        <link:definition>2403403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsNarrativeDetails" roleURI="http://cognex.com/role/FairValueMeasurementsNarrativeDetails">
        <link:definition>2403404 - Disclosure - Fair Value Measurements - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="FairValueMeasurementsTables" roleURI="http://cognex.com/role/FairValueMeasurementsTables">
        <link:definition>2303301 - Disclosure - Fair Value Measurements (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Goodwill" roleURI="http://cognex.com/role/Goodwill">
        <link:definition>2107100 - Disclosure - Goodwill</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillAdditionalInformationDetail" roleURI="http://cognex.com/role/GoodwillAdditionalInformationDetail">
        <link:definition>2407403 - Disclosure - Goodwill - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillChangesInCarryingValueOfGoodwillDetail" roleURI="http://cognex.com/role/GoodwillChangesInCarryingValueOfGoodwillDetail">
        <link:definition>2407402 - Disclosure - Goodwill - Changes in the Carrying Value of Goodwill (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="GoodwillTables" roleURI="http://cognex.com/role/GoodwillTables">
        <link:definition>2307301 - Disclosure - Goodwill (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IndemnificationProvisions" roleURI="http://cognex.com/role/IndemnificationProvisions">
        <link:definition>2112100 - Disclosure - Indemnification Provisions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IndemnificationProvisionsNarrativeDetails" roleURI="http://cognex.com/role/IndemnificationProvisionsNarrativeDetails">
        <link:definition>2412401 - Disclosure - Indemnification Provisions - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssets" roleURI="http://cognex.com/role/IntangibleAssets">
        <link:definition>2108100 - Disclosure - Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsAmortizedIntangibleAssetsDetail" roleURI="http://cognex.com/role/IntangibleAssetsAmortizedIntangibleAssetsDetail">
        <link:definition>2408402 - Disclosure - Intangible Assets - Amortized Intangible Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" roleURI="http://cognex.com/role/IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail">
        <link:definition>2408403 - Disclosure - Intangible Assets - Estimated Amortization Expense Succeeding Fiscal Years (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IntangibleAssetsTables" roleURI="http://cognex.com/role/IntangibleAssetsTables">
        <link:definition>2308301 - Disclosure - Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Inventories" roleURI="http://cognex.com/role/Inventories">
        <link:definition>2105100 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesInventoriesDetail" roleURI="http://cognex.com/role/InventoriesInventoriesDetail">
        <link:definition>2405402 - Disclosure - Inventories - Inventories (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="InventoriesTables" roleURI="http://cognex.com/role/InventoriesTables">
        <link:definition>2305301 - Disclosure - Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="NewPronouncements" roleURI="http://cognex.com/role/NewPronouncements">
        <link:definition>2102100 - Disclosure - New Pronouncements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantAndEquipment" roleURI="http://cognex.com/role/PropertyPlantAndEquipment">
        <link:definition>2106100 - Disclosure - Property, Plant, and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantAndEquipmentAdditionalInformationDetails" roleURI="http://cognex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetails">
        <link:definition>2406403 - Disclosure - Property, Plant and Equipment - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" roleURI="http://cognex.com/role/PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail">
        <link:definition>2406402 - Disclosure - Property, Plant, and Equipment - Property, Plant, and Equipment (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="PropertyPlantAndEquipmentTables" roleURI="http://cognex.com/role/PropertyPlantAndEquipmentTables">
        <link:definition>2306301 - Disclosure - Property, Plant, and Equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ScheduleIiValuationAndQualifyingAccounts" roleURI="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccounts">
        <link:definition>2124100 - Disclosure - Schedule II - Valuation and Qualifying Accounts</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ScheduleIiValuationAndQualifyingAccountsDetail" roleURI="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccountsDetail">
        <link:definition>2424401 - Disclosure - Schedule II -Valuation and Qualifying Accounts (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentAndGeographicInformation" roleURI="http://cognex.com/role/SegmentAndGeographicInformation">
        <link:definition>2120100 - Disclosure - Segment and Geographic Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentAndGeographicInformationAdditionalInformationDetail" roleURI="http://cognex.com/role/SegmentAndGeographicInformationAdditionalInformationDetail">
        <link:definition>2420402 - Disclosure - Segment and Geographic Information - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" roleURI="http://cognex.com/role/SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail">
        <link:definition>2420403 - Disclosure - Segment and Geographic Information - Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentAndGeographicInformationTables" roleURI="http://cognex.com/role/SegmentAndGeographicInformationTables">
        <link:definition>2320301 - Disclosure - Segment and Geographic Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareholdersEquity" roleURI="http://cognex.com/role/ShareholdersEquity">
        <link:definition>2114100 - Disclosure - Shareholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareholdersEquityAdditionalInformationDetail" roleURI="http://cognex.com/role/ShareholdersEquityAdditionalInformationDetail">
        <link:definition>2414401 - Disclosure - Shareholders' Equity - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensation" roleURI="http://cognex.com/role/StockBasedCompensation">
        <link:definition>2116100 - Disclosure - Stock-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseAdditionalInformationDetail" roleURI="http://cognex.com/role/StockBasedCompensationExpenseAdditionalInformationDetail">
        <link:definition>2416402 - Disclosure - Stock-Based Compensation Expense - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" roleURI="http://cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseDetail">
        <link:definition>2416406 - Disclosure - Stock-Based Compensation Expense - Stock-Based Compensation Expense (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" roleURI="http://cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail">
        <link:definition>2416403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" roleURI="http://cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail">
        <link:definition>2416404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" roleURI="http://cognex.com/role/StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails">
        <link:definition>2416405 - Disclosure - Stock-Based Compensation Stock-Based Compensation Expense- Summary of Restricted Stock Option Activity (Detail) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="StockBasedCompensationTables" roleURI="http://cognex.com/role/StockBasedCompensationTables">
        <link:definition>2316301 - Disclosure - Stock-Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEventsSubsequentEventsDetails" roleURI="http://cognex.com/role/SubsequentEventsSubsequentEventsDetails">
        <link:definition>2423401 - Disclosure - Subsequent Events Subsequent Events - (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEventsSubsequentEventsNotes" roleURI="http://cognex.com/role/SubsequentEventsSubsequentEventsNotes">
        <link:definition>2123100 - Disclosure - Subsequent Events Subsequent Events - (Notes)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPolicies" roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPolicies">
        <link:definition>2101100 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail">
        <link:definition>2401402 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails">
        <link:definition>2401406 - Disclosure - Summary of Significant Accounting Policies - Advertising Costs (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails">
        <link:definition>2401407 - Disclosure - Summary of Significant Accounting Policies - Comprehensive Income (Loss) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
        <link:definition>2401404 - Disclosure - Summary of Significant Accounting Policies - Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPoliciesPolicies" roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies">
        <link:definition>2201201 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails">
        <link:definition>2401403 - Disclosure - Summary of Significant Accounting Policies Summary of Significant Accounting Policies - Goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SummaryOfSignificantAccountingPoliciesWarrantyDetails" roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails">
        <link:definition>2401405 - Disclosure - Summary of Significant Accounting Policies - Warranty (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Taxes" roleURI="http://cognex.com/role/Taxes">
        <link:definition>2118100 - Disclosure - Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TaxesAdditionalInformationDetails" roleURI="http://cognex.com/role/TaxesAdditionalInformationDetails">
        <link:definition>2418402 - Disclosure - Taxes - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" roleURI="http://cognex.com/role/TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails">
        <link:definition>2418405 - Disclosure - Taxes - Changes in the Reserve for Income Taxes, Excluding Interest and Penalties (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TaxesConstituentsOfDeferredTaxAssetsDetails" roleURI="http://cognex.com/role/TaxesConstituentsOfDeferredTaxAssetsDetails">
        <link:definition>2418406 - Disclosure - Taxes - Constituents of Deferred Tax Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TaxesConstituentsOfProvisionForIncomeTaxesDetails" roleURI="http://cognex.com/role/TaxesConstituentsOfProvisionForIncomeTaxesDetails">
        <link:definition>2418403 - Disclosure - Taxes - Constituents of Provision for Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" roleURI="http://cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails">
        <link:definition>2418404 - Disclosure - Taxes - Reconciliation of the United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate or Income Tax Provision (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="TaxesTables" roleURI="http://cognex.com/role/TaxesTables">
        <link:definition>2318301 - Disclosure - Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageShares" roleURI="http://cognex.com/role/WeightedAverageShares">
        <link:definition>2119100 - Disclosure - Weighted Average Shares</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageSharesAdditionalInformationDetail" roleURI="http://cognex.com/role/WeightedAverageSharesAdditionalInformationDetail">
        <link:definition>2419403 - Disclosure - Weighted Average Shares - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" roleURI="http://cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail">
        <link:definition>2419402 - Disclosure - Weighted Average Shares - Calculation of Weighted Average Shares (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="WeightedAverageSharesTables" roleURI="http://cognex.com/role/WeightedAverageSharesTables">
        <link:definition>2319301 - Disclosure - Weighted Average Shares (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element abstract="true" id="cgnx_AMETEKMatterMember" name="AMETEKMatterMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_AQSenseS.L.Member" name="AQSenseS.L.Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember" name="AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_AccruedExpensesMember" name="AccruedExpensesMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting" name="AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_AgencyBondsFairValueDisclosure" name="AgencyBondsFairValueDisclosure" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_AgencyBondsMember" name="AgencyBondsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_AmortizationDiscontinuedOperations" name="AmortizationDiscontinuedOperations" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_AssetBackedSecuritiesFairValueDisclosure" name="AssetBackedSecuritiesFairValueDisclosure" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum" name="AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment" name="BusinessCombinationConsiderationTransferredDeferredCashPayment" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" name="CashCashEquivalentsShortTermAndLongTermInvestments" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_CashflowshedgesAbstract" name="CashflowshedgesAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ChiaroTechnologiesLLCMember" name="ChiaroTechnologiesLLCMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson" name="CommonSharesToBeOwnedToBecomeAcquiringPerson" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_CompanyContributionsVestAtEndOfFiveYears" name="CompanyContributionsVestAtEndOfFiveYears" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_CompanyContributionsVestAtEndOfFourYears" name="CompanyContributionsVestAtEndOfFourYears" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_CompanyContributionsVestAtEndOfThreeYears" name="CompanyContributionsVestAtEndOfThreeYears" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_CompanyContributionsVestAtEndOfTwoYear" name="CompanyContributionsVestAtEndOfTwoYear" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember" name="CompletedTechnologiesAndOtherIntangibleAssetsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock" name="ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ComputerHardwareAndSoftwareMember" name="ComputerHardwareAndSoftwareMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock" name="ConcentrationsOfRiskPolicyPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ContributionMadeToPartnershipDuringPeriod" name="ContributionMadeToPartnershipDuringPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ContributionToLimitedPartnership" name="ContributionToLimitedPartnership" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_CorporateBondsFairValueDisclosure" name="CorporateBondsFairValueDisclosure" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_CurrencytranslationadjustmentAbstract" name="CurrencytranslationadjustmentAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_CustomerContractsAndRelationshipsMember" name="CustomerContractsAndRelationshipsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_DeferredTaxAssetsOtherNoncurrent" name="DeferredTaxAssetsOtherNoncurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState" name="DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_DepreciationDiscontinuedOperations" name="DepreciationDiscontinuedOperations" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses" name="DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses" name="DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts" name="DisposalGroupIncludingDiscontinuedOperationsTransactionCosts" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_DocumentDocumentandEntityInformationAbstract" name="DocumentDocumentandEntityInformationAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_DueFromForeignBanks" name="DueFromForeignBanks" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount" name="EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" name="EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" name="EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_EnShapeGmbHMember" name="EnShapeGmbHMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" name="EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" name="EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_EuroliquidityfundMember" name="EuroliquidityfundMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Euroliquidityfunds" name="Euroliquidityfunds" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_ExpirationPeriodOfStockOptionPlan" name="ExpirationPeriodOfStockOptionPlan" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_FairValueInExcessToCarryingValue" name="FairValueInExcessToCarryingValue" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_GreaterChinaMember" name="GreaterChinaMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_HardwareAndSoftwareMember" name="HardwareAndSoftwareMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Incomefromdiscontinuedoperationstotalpretax" name="Incomefromdiscontinuedoperationstotalpretax" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" name="IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_IndemnificationProvisionsTextBlock" name="IndemnificationProvisionsTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_LegalSettlementAsset" name="LegalSettlementAsset" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_LegalSettlementExpense" name="LegalSettlementExpense" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_LegalSettlementTotal" name="LegalSettlementTotal" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_Lifeofpatentyears" name="Lifeofpatentyears" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_LongTermInvestmentsMember" name="LongTermInvestmentsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue" name="LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue" name="LossContingencyDamagesAwardedReimbursementOfLegalFeesValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ManateeWorksInc.Member" name="ManateeWorksInc.Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" name="MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MaximumInvestmentInLimitedPartnership" name="MaximumInvestmentInLimitedPartnership" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MaximumInvestmentOfCompanyInPartnership" name="MaximumInvestmentOfCompanyInPartnership" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan" name="MinimumAgeToBeEligibleToDefinedContributionPlan" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" name="MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MoneyMarketInstrumentsFairValueDisclosure" name="MoneyMarketInstrumentsFairValueDisclosure" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_MunicipalBondsFairValueDisclosure" name="MunicipalBondsFairValueDisclosure" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_MvsdMember" name="MvsdMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_NatureOfOperationsPolicyTextBlock" name="NatureOfOperationsPolicyTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_NoncurrentDeferredTaxAssetsDeprecation" name="NoncurrentDeferredTaxAssetsDeprecation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_NumberOfGroupsWithinEmployeePopulation" name="NumberOfGroupsWithinEmployeePopulation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution" name="NumberOfPreferredStockPurchaseRightForDividendDistribution" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_OpenTaxYearStateAuthorities" name="OpenTaxYearStateAuthorities" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_OpentaxyearUnitedStatesInternalRevenueService" name="OpentaxyearUnitedStatesInternalRevenueService" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Opentaxyearvarioustaxingauthorities" name="Opentaxyearvarioustaxingauthorities" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_OtherGeographicAreaMember" name="OtherGeographicAreaMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent" name="OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest" name="PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest" name="PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_PreviousCompanySegmentsMember" name="PreviousCompanySegmentsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ProductCostOfRevenueMember" name="ProductCostOfRevenueMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ProductWarrantyPeriod" name="ProductWarrantyPeriod" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_QualitativeAssessmentyears" name="QualitativeAssessmentyears" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_RemainingAmountOfCommitment" name="RemainingAmountOfCommitment" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgram2014Member" name="RepurchaseProgram2014Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgramNovember2015Member" name="RepurchaseProgramNovember2015Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgramTwentyFifteenMember" name="RepurchaseProgramTwentyFifteenMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Repurchasedsharestotalcost" name="Repurchasedsharestotalcost" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_RetirementAllowance" name="RetirementAllowance" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock" name="ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_SellingGeneralAndAdministrativeMember" name="SellingGeneralAndAdministrativeMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" name="SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_SisdMember" name="SisdMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_SovereignBondsFairValueDisclosure" name="SovereignBondsFairValueDisclosure" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_StateResearchAndExperimentationMember" name="StateResearchAndExperimentationMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Stateresearchandexperimentationtaxcarryforwards" name="Stateresearchandexperimentationtaxcarryforwards" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract" name="StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Stockbasedcompensationdiscontinuedoperation" name="Stockbasedcompensationdiscontinuedoperation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement" name="TaxYearsCoveredThroughAdvancedPricingAgreement" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_TaxyearsforAPAagreement" name="TaxyearsforAPAagreement" nillable="true" substitutionGroup="xbrli:item" type="us-types:durationStringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Totalsharesrepurchased" name="Totalsharesrepurchased" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_TreasuryBillsFairValueDisclosure" name="TreasuryBillsFairValueDisclosure" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" name="Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_VoteEntitledForEachCommonShareOutstanding" name="VoteEntitledForEachCommonShareOutstanding" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_WebscanInc.Member" name="WebscanInc.Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>cgnx-20161231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpenses" xlink:href="cgnx-20161231.xsd#AccruedExpenses" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpensesChangesInWarrantyObligationsDetail" xlink:href="cgnx-20161231.xsd#AccruedExpensesChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpensesConstituentsOfAccruedExpensesDetail" xlink:href="cgnx-20161231.xsd#AccruedExpensesConstituentsOfAccruedExpensesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpensesTables" xlink:href="cgnx-20161231.xsd#AccruedExpensesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Acquisitions" xlink:href="cgnx-20161231.xsd#Acquisitions" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAcquisitionsDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsAcquisitionsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAcquisitionsTables" xlink:href="cgnx-20161231.xsd#AcquisitionsAcquisitionsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAqsenseSLNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsAqsenseSLNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAqsenseSLPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsAqsenseSLPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsChiaroTechnologiesLlcDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsEnshapeGmbhNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsEnshapeGmbhNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsManateeWorksIncNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsManateeWorksIncNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsWebscanIncNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsWebscanIncNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsWebscanIncPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsWebscanIncPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestments" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingencies" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesTables" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20161231.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfOperationsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquity" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20161231.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsBalanceSheetLocationDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsBalanceSheetLocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsChangesInAociDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsChangesInAociDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsOutstandingForwardContractsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperations" xlink:href="cgnx-20161231.xsd#DiscontinuedOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsDetails" xlink:href="cgnx-20161231.xsd#DiscontinuedOperationsDiscontinuedOperationsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" xlink:href="cgnx-20161231.xsd#DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsTables" xlink:href="cgnx-20161231.xsd#DiscontinuedOperationsDiscontinuedOperationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DocumentAndEntityInformation" xlink:href="cgnx-20161231.xsd#DocumentAndEntityInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/EmployeeSavingsPlan" xlink:href="cgnx-20161231.xsd#EmployeeSavingsPlan" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/EmployeeSavingsPlanAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#EmployeeSavingsPlanAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20161231.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsNarrativeDetails" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Goodwill" xlink:href="cgnx-20161231.xsd#Goodwill" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/GoodwillAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#GoodwillAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/GoodwillChangesInCarryingValueOfGoodwillDetail" xlink:href="cgnx-20161231.xsd#GoodwillChangesInCarryingValueOfGoodwillDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/GoodwillTables" xlink:href="cgnx-20161231.xsd#GoodwillTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IndemnificationProvisions" xlink:href="cgnx-20161231.xsd#IndemnificationProvisions" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IndemnificationProvisionsNarrativeDetails" xlink:href="cgnx-20161231.xsd#IndemnificationProvisionsNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssets" xlink:href="cgnx-20161231.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssetsAmortizedIntangibleAssetsDetail" xlink:href="cgnx-20161231.xsd#IntangibleAssetsAmortizedIntangibleAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" xlink:href="cgnx-20161231.xsd#IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20161231.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Inventories" xlink:href="cgnx-20161231.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/InventoriesInventoriesDetail" xlink:href="cgnx-20161231.xsd#InventoriesInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/InventoriesTables" xlink:href="cgnx-20161231.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/NewPronouncements" xlink:href="cgnx-20161231.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipment" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipment" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetails" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipmentAdditionalInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipmentTables" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipmentTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccounts" xlink:href="cgnx-20161231.xsd#ScheduleIiValuationAndQualifyingAccounts" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccountsDetail" xlink:href="cgnx-20161231.xsd#ScheduleIiValuationAndQualifyingAccountsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformation" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformationAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformationAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformationTables" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ShareholdersEquity" xlink:href="cgnx-20161231.xsd#ShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#ShareholdersEquityAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensation" xlink:href="cgnx-20161231.xsd#StockBasedCompensation" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" xlink:href="cgnx-20161231.xsd#StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationTables" xlink:href="cgnx-20161231.xsd#StockBasedCompensationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SubsequentEventsSubsequentEventsDetails" xlink:href="cgnx-20161231.xsd#SubsequentEventsSubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SubsequentEventsSubsequentEventsNotes" xlink:href="cgnx-20161231.xsd#SubsequentEventsSubsequentEventsNotes" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Taxes" xlink:href="cgnx-20161231.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesAdditionalInformationDetails" xlink:href="cgnx-20161231.xsd#TaxesAdditionalInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" xlink:href="cgnx-20161231.xsd#TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesConstituentsOfDeferredTaxAssetsDetails" xlink:href="cgnx-20161231.xsd#TaxesConstituentsOfDeferredTaxAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesConstituentsOfProvisionForIncomeTaxesDetails" xlink:href="cgnx-20161231.xsd#TaxesConstituentsOfProvisionForIncomeTaxesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" xlink:href="cgnx-20161231.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesTables" xlink:href="cgnx-20161231.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20161231.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageSharesAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#WeightedAverageSharesAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20161231.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20161231.xsd#WeightedAverageSharesTables" xlink:type="simple" />
  <link:calculationLink xlink:role="http://cognex.com/role/AccruedExpenses" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AccruedExpensesChangesInWarrantyObligationsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AccruedExpensesConstituentsOfAccruedExpensesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_567bfdaf-7a71-0a8c-e33e-b9f7b4096843" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedBonusesCurrent" xlink:label="loc_us-gaap_AccruedBonusesCurrent_381e9a09-9d82-0fc9-9fa4-97c52c76ccd3" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_567bfdaf-7a71-0a8c-e33e-b9f7b4096843" xlink:to="loc_us-gaap_AccruedBonusesCurrent_381e9a09-9d82-0fc9-9fa4-97c52c76ccd3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="loc_us-gaap_AccruedSalariesCurrent_bbb88956-2391-237d-9ac1-fd1ab1783864" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_567bfdaf-7a71-0a8c-e33e-b9f7b4096843" xlink:to="loc_us-gaap_AccruedSalariesCurrent_bbb88956-2391-237d-9ac1-fd1ab1783864" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedVacationCurrent" xlink:label="loc_us-gaap_AccruedVacationCurrent_64d2382b-f89a-d3ea-41d1-88c0789955b8" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_567bfdaf-7a71-0a8c-e33e-b9f7b4096843" xlink:to="loc_us-gaap_AccruedVacationCurrent_64d2382b-f89a-d3ea-41d1-88c0789955b8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_f90b5837-0c69-6590-8b8b-447b136c9628" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_567bfdaf-7a71-0a8c-e33e-b9f7b4096843" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_f90b5837-0c69-6590-8b8b-447b136c9628" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RetirementAllowance" xlink:label="loc_cgnx_RetirementAllowance_5ca55c1a-3168-29f4-f300-1a27f5b3b840" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_567bfdaf-7a71-0a8c-e33e-b9f7b4096843" xlink:to="loc_cgnx_RetirementAllowance_5ca55c1a-3168-29f4-f300-1a27f5b3b840" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_3b18b100-5c23-de0c-2b69-6ea7677a5a64" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_567bfdaf-7a71-0a8c-e33e-b9f7b4096843" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_3b18b100-5c23-de0c-2b69-6ea7677a5a64" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/AccruedExpensesTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/Acquisitions" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsAcquisitionsDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsAcquisitionsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsAqsenseSLNarrativeDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsAqsenseSLPurchasePriceAllocationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsEnshapeGmbhNarrativeDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_e1978724-efbf-19b9-3963-b8987dc665d5" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_e1978724-efbf-19b9-3963-b8987dc665d5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_ad3eb69d-2935-0a19-a7a2-6532d3b3c47d" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_ad3eb69d-2935-0a19-a7a2-6532d3b3c47d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_6e28828a-3f50-3718-b1d3-0912d606f590" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_6e28828a-3f50-3718-b1d3-0912d606f590" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_56c651eb-cb40-cb88-2b7a-85ce69b038b1" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_56c651eb-cb40-cb88-2b7a-85ce69b038b1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_be07dd0f-4dac-2e35-9d0a-97c001db45cf" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_be07dd0f-4dac-2e35-9d0a-97c001db45cf" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_a039338d-bda7-2590-e337-34eca2f4fe9a" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_a039338d-bda7-2590-e337-34eca2f4fe9a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_d723083e-f7a3-6d89-9926-32afaa010d8a" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_Goodwill_d723083e-f7a3-6d89-9926-32afaa010d8a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_e8c3a4e1-8343-1fda-1749-0e448757238f" xlink:type="locator" />
    <link:calculationArc order="8" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_e8c3a4e1-8343-1fda-1749-0e448757238f" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_CC37B95FF6F347B42A151B591217F3B1" xlink:type="locator" />
    <link:calculationArc order="9" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_CC37B95FF6F347B42A151B591217F3B1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_1EA1AEB6EC637A53FA541B7464D37E5A" xlink:type="locator" />
    <link:calculationArc order="10" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_1EA1AEB6EC637A53FA541B7464D37E5A" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsManateeWorksIncNarrativeDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsWebscanIncNarrativeDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/AcquisitionsWebscanIncPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_ad3eb69d-2935-0a19-a7a2-6532d3b3c47d" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_ad3eb69d-2935-0a19-a7a2-6532d3b3c47d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_6e28828a-3f50-3718-b1d3-0912d606f590" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_6e28828a-3f50-3718-b1d3-0912d606f590" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_56c651eb-cb40-cb88-2b7a-85ce69b038b1" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_56c651eb-cb40-cb88-2b7a-85ce69b038b1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_d723083e-f7a3-6d89-9926-32afaa010d8a" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_Goodwill_d723083e-f7a3-6d89-9926-32afaa010d8a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_e8c3a4e1-8343-1fda-1749-0e448757238f" xlink:type="locator" />
    <link:calculationArc order="5" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_e8c3a4e1-8343-1fda-1749-0e448757238f" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_a039338d-bda7-2590-e337-34eca2f4fe9a" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_2369a635-b49d-b747-8525-86de401fdea0" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_a039338d-bda7-2590-e337-34eca2f4fe9a" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestments" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_bca7edb8-274e-a972-85d8-811b7da33e90" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_ba478347-bbf1-ddfc-8a79-7775b3b62a6c" xlink:type="locator" />
    <link:calculationArc order="1" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_bca7edb8-274e-a972-85d8-811b7da33e90" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_ba478347-bbf1-ddfc-8a79-7775b3b62a6c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_65f23050-696a-07fd-30c1-78a5110d800c" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_bca7edb8-274e-a972-85d8-811b7da33e90" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_65f23050-696a-07fd-30c1-78a5110d800c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d38a4602-a509-ea84-d4a7-84b6783fb543" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_bca7edb8-274e-a972-85d8-811b7da33e90" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d38a4602-a509-ea84-d4a7-84b6783fb543" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_03189a51-d614-026f-d75f-c548fab3429a" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_ec544f28-9c7b-137c-e428-9ae47c2375fc" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_03189a51-d614-026f-d75f-c548fab3429a" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_ec544f28-9c7b-137c-e428-9ae47c2375fc" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_31b089b6-cab9-7e98-65c7-eea8ed3f6029" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_ec544f28-9c7b-137c-e428-9ae47c2375fc" xlink:to="loc_us-gaap_Cash_31b089b6-cab9-7e98-65c7-eea8ed3f6029" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_70974299-61e0-2295-b11a-bede3d878f4e" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_ec544f28-9c7b-137c-e428-9ae47c2375fc" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_70974299-61e0-2295-b11a-bede3d878f4e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3eb1c1c4-e8a2-c7fa-5de7-8720a2043973" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_03189a51-d614-026f-d75f-c548fab3429a" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3eb1c1c4-e8a2-c7fa-5de7-8720a2043973" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_3c67d026-8a2e-6845-efcf-9ef1a83fd83f" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_03189a51-d614-026f-d75f-c548fab3429a" xlink:to="loc_us-gaap_LongTermInvestments_3c67d026-8a2e-6845-efcf-9ef1a83fd83f" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d38a4602-a509-ea84-d4a7-84b6783fb543" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_73f419d8-d119-3f34-15a6-338e4455cd96" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d38a4602-a509-ea84-d4a7-84b6783fb543" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_73f419d8-d119-3f34-15a6-338e4455cd96" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2b9e0f68-bbd4-68af-dc33-c548fab510d7" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d38a4602-a509-ea84-d4a7-84b6783fb543" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2b9e0f68-bbd4-68af-dc33-c548fab510d7" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_e3f2d739-948a-d012-cccc-c548fa96b78c" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d38a4602-a509-ea84-d4a7-84b6783fb543" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_e3f2d739-948a-d012-cccc-c548fa96b78c" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_b3b135d6-2d2e-2f92-45c2-c548fab8688d" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d38a4602-a509-ea84-d4a7-84b6783fb543" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_b3b135d6-2d2e-2f92-45c2-c548fab8688d" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_a8a99474-18ef-1150-0c76-c548fa8a9ec0" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_d38a4602-a509-ea84-d4a7-84b6783fb543" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_a8a99474-18ef-1150-0c76-c548fa8a9ec0" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_b1d71fc9-eecd-2005-af97-28330842089f" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_94eefac8-f76d-a881-1e74-cd6a8c26f6f2" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_b1d71fc9-eecd-2005-af97-28330842089f" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_94eefac8-f76d-a881-1e74-cd6a8c26f6f2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_11612c57-1c66-2ebb-048d-5328a69f7e87" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_b1d71fc9-eecd-2005-af97-28330842089f" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_11612c57-1c66-2ebb-048d-5328a69f7e87" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_3fa09329-0896-f55f-c02e-c8004aa08345" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_2c159316-1107-d1fe-3ca9-a0ff69e85bc6" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_3fa09329-0896-f55f-c02e-c8004aa08345" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_2c159316-1107-d1fe-3ca9-a0ff69e85bc6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_28085bfb-becd-58b9-5554-fd2b42a29dab" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_3fa09329-0896-f55f-c02e-c8004aa08345" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_28085bfb-becd-58b9-5554-fd2b42a29dab" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/CommitmentsAndContingencies" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_ab95e8f2-93e0-6140-6e56-a79823c16c0d" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_00eaf688-6963-ad8a-03b8-e257d107b9c7" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_ab95e8f2-93e0-6140-6e56-a79823c16c0d" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_00eaf688-6963-ad8a-03b8-e257d107b9c7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_5519a64c-2a56-b1d5-2ab3-ee16d7d2a7a5" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_ab95e8f2-93e0-6140-6e56-a79823c16c0d" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_5519a64c-2a56-b1d5-2ab3-ee16d7d2a7a5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_2154b0cd-b6a4-a252-5801-385edf9d9702" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_ab95e8f2-93e0-6140-6e56-a79823c16c0d" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_2154b0cd-b6a4-a252-5801-385edf9d9702" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_c2ad5d03-49c6-819a-1ac6-e6584eea34ff" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_ab95e8f2-93e0-6140-6e56-a79823c16c0d" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_c2ad5d03-49c6-819a-1ac6-e6584eea34ff" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_d7e45dda-b3de-1974-4726-54d18939cd1c" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_ab95e8f2-93e0-6140-6e56-a79823c16c0d" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_d7e45dda-b3de-1974-4726-54d18939cd1c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_b89e7a90-e5d1-031a-5e13-781005c7ec6e" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_ab95e8f2-93e0-6140-6e56-a79823c16c0d" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_b89e7a90-e5d1-031a-5e13-781005c7ec6e" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_fbde6d75-eebb-a288-7a6b-dcacad22426a" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_f5d36ad7-c8b3-22b3-c89d-443549b5185a" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_fbde6d75-eebb-a288-7a6b-dcacad22426a" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_f5d36ad7-c8b3-22b3-c89d-443549b5185a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_fc980c2e-9c69-ec99-9fb9-2e82b9db2452" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_fbde6d75-eebb-a288-7a6b-dcacad22426a" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_fc980c2e-9c69-ec99-9fb9-2e82b9db2452" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_a38e6260-dbb6-fb11-12c6-7d4aebbad96a" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_fbde6d75-eebb-a288-7a6b-dcacad22426a" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_a38e6260-dbb6-fb11-12c6-7d4aebbad96a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_ebfb9acf-4e02-d287-9bb1-1281723440cc" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_fbde6d75-eebb-a288-7a6b-dcacad22426a" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_ebfb9acf-4e02-d287-9bb1-1281723440cc" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_eeac425f-0534-fd5e-ec98-cf1d2cb57f6b" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_fbde6d75-eebb-a288-7a6b-dcacad22426a" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_eeac425f-0534-fd5e-ec98-cf1d2cb57f6b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_23adca6a-a224-f1a3-e5f8-468327b5e43c" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_fbde6d75-eebb-a288-7a6b-dcacad22426a" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_23adca6a-a224-f1a3-e5f8-468327b5e43c" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_04e17fb3-9b77-1c98-f460-7f5dd0c01008" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_6d3ec995-5062-ef92-dd72-b570c1eafdc8" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_04e17fb3-9b77-1c98-f460-7f5dd0c01008" xlink:to="loc_us-gaap_Liabilities_6d3ec995-5062-ef92-dd72-b570c1eafdc8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_a859bb84-8118-88ec-5136-83fdb14e8f32" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_6d3ec995-5062-ef92-dd72-b570c1eafdc8" xlink:to="loc_us-gaap_LiabilitiesCurrent_a859bb84-8118-88ec-5136-83fdb14e8f32" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_222239a2-3ddd-5e4f-4ae1-b11c60b29d92" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_a859bb84-8118-88ec-5136-83fdb14e8f32" xlink:to="loc_us-gaap_AccountsPayableCurrent_222239a2-3ddd-5e4f-4ae1-b11c60b29d92" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_567bfdaf-7a71-0a8c-e33e-b9f7b4096843" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_a859bb84-8118-88ec-5136-83fdb14e8f32" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_567bfdaf-7a71-0a8c-e33e-b9f7b4096843" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_cd1623dd-4d7a-16b7-05d7-1ab0d4540c5c" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_a859bb84-8118-88ec-5136-83fdb14e8f32" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_cd1623dd-4d7a-16b7-05d7-1ab0d4540c5c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_88cbdc1a-7ab5-0fca-3575-3e135f0d3f8a" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_a859bb84-8118-88ec-5136-83fdb14e8f32" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_88cbdc1a-7ab5-0fca-3575-3e135f0d3f8a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_2f161124-4334-6bea-d355-740d10b74f14" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_6d3ec995-5062-ef92-dd72-b570c1eafdc8" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_2f161124-4334-6bea-d355-740d10b74f14" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_b65887e3-1865-ef3e-c8ae-81780cbff9ee" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_6d3ec995-5062-ef92-dd72-b570c1eafdc8" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_b65887e3-1865-ef3e-c8ae-81780cbff9ee" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_fd9cbad2-d56f-2581-b420-9d243bbbdf40" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_6d3ec995-5062-ef92-dd72-b570c1eafdc8" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_fd9cbad2-d56f-2581-b420-9d243bbbdf40" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaap_CommitmentsAndContingencies_49d65a66-0444-b198-9d28-5c0811b1bdf3" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_04e17fb3-9b77-1c98-f460-7f5dd0c01008" xlink:to="loc_us-gaap_CommitmentsAndContingencies_49d65a66-0444-b198-9d28-5c0811b1bdf3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_2644da13-7baa-0a2f-63e0-0906a691ba01" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_04e17fb3-9b77-1c98-f460-7f5dd0c01008" xlink:to="loc_us-gaap_StockholdersEquity_2644da13-7baa-0a2f-63e0-0906a691ba01" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_677d6c3d-e00c-fe93-30c5-8a015cb95571" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_2644da13-7baa-0a2f-63e0-0906a691ba01" xlink:to="loc_us-gaap_CommonStockValueOutstanding_677d6c3d-e00c-fe93-30c5-8a015cb95571" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_b1a68b05-ec26-b896-ce8e-937cca99264e" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_2644da13-7baa-0a2f-63e0-0906a691ba01" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_b1a68b05-ec26-b896-ce8e-937cca99264e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_f759e73e-9f4f-941e-1138-49bc44f6b118" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_2644da13-7baa-0a2f-63e0-0906a691ba01" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_f759e73e-9f4f-941e-1138-49bc44f6b118" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_aeb1020a-508a-a8c1-f34c-bafff16c26cb" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_2644da13-7baa-0a2f-63e0-0906a691ba01" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_aeb1020a-508a-a8c1-f34c-bafff16c26cb" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_08bee809-e27e-48c3-da2d-5d52948eb470" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_dbbeeff9-fd43-6151-195d-0532728ac216" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_08bee809-e27e-48c3-da2d-5d52948eb470" xlink:to="loc_us-gaap_AssetsCurrent_dbbeeff9-fd43-6151-195d-0532728ac216" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_ec544f28-9c7b-137c-e428-9ae47c2375fc" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_dbbeeff9-fd43-6151-195d-0532728ac216" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_ec544f28-9c7b-137c-e428-9ae47c2375fc" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3eb1c1c4-e8a2-c7fa-5de7-8720a2043973" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_dbbeeff9-fd43-6151-195d-0532728ac216" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3eb1c1c4-e8a2-c7fa-5de7-8720a2043973" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_d28874fa-4543-5746-c91a-559d7ab47f77" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_dbbeeff9-fd43-6151-195d-0532728ac216" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_d28874fa-4543-5746-c91a-559d7ab47f77" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_a5201305-cb63-d1e5-f4e7-e25409fb5d3a" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_dbbeeff9-fd43-6151-195d-0532728ac216" xlink:to="loc_us-gaap_InventoryNet_a5201305-cb63-d1e5-f4e7-e25409fb5d3a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_8cc01d89-cd24-22b5-77d4-23f6bae81aca" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_dbbeeff9-fd43-6151-195d-0532728ac216" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_8cc01d89-cd24-22b5-77d4-23f6bae81aca" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_c6b5cdde-c977-8697-4021-ef35291647d0" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_dbbeeff9-fd43-6151-195d-0532728ac216" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_c6b5cdde-c977-8697-4021-ef35291647d0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_3c67d026-8a2e-6845-efcf-9ef1a83fd83f" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_08bee809-e27e-48c3-da2d-5d52948eb470" xlink:to="loc_us-gaap_LongTermInvestments_3c67d026-8a2e-6845-efcf-9ef1a83fd83f" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_68e7c3c1-9b8d-84fe-3a5c-d69c15dfe7a2" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_08bee809-e27e-48c3-da2d-5d52948eb470" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_68e7c3c1-9b8d-84fe-3a5c-d69c15dfe7a2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_8df56cc1-dc4c-f82b-bfc1-0248ef95a034" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_08bee809-e27e-48c3-da2d-5d52948eb470" xlink:to="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_8df56cc1-dc4c-f82b-bfc1-0248ef95a034" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_08bee809-e27e-48c3-da2d-5d52948eb470" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_d723083e-f7a3-6d89-9926-32afaa010d8a" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_08bee809-e27e-48c3-da2d-5d52948eb470" xlink:to="loc_us-gaap_Goodwill_d723083e-f7a3-6d89-9926-32afaa010d8a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_e6ade192-0839-bdd8-d08b-20387a0e8201" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_08bee809-e27e-48c3-da2d-5d52948eb470" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_e6ade192-0839-bdd8-d08b-20387a0e8201" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_104af714-3829-5d79-3fb3-059f86c366da" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_104af714-3829-5d79-3fb3-059f86c366da" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_8baf87d5-5f2f-7d0d-cb85-b9f249bae0c5" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_NetIncomeLoss_8baf87d5-5f2f-7d0d-cb85-b9f249bae0c5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GainLossOnSaleOfBusiness" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_515980ca-4628-4bee-9429-657637fede9a" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_515980ca-4628-4bee-9429-657637fede9a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_ef3c7a4b-c74e-1e93-0498-59b2b171060d" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_StockOptionPlanExpense_ef3c7a4b-c74e-1e93-0498-59b2b171060d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_b6c36e3f-ea84-a440-1267-34444a0f8e78" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_Depreciation_b6c36e3f-ea84-a440-1267-34444a0f8e78" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_45782c94-912f-fb4e-76bf-199e35f3c27b" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_45782c94-912f-fb4e-76bf-199e35f3c27b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_fe59972c-181e-b516-7ec1-09a40fc27526" xlink:type="locator" />
    <link:calculationArc order="6" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_fe59972c-181e-b516-7ec1-09a40fc27526" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_72f8dbcf-d3e6-9f03-ee3e-0ffce77f6746" xlink:type="locator" />
    <link:calculationArc order="7" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_72f8dbcf-d3e6-9f03-ee3e-0ffce77f6746" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_a630cdc5-a27f-054d-4089-cf5e52fc4cdd" xlink:type="locator" />
    <link:calculationArc order="8" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_a630cdc5-a27f-054d-4089-cf5e52fc4cdd" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_b5367bf2-397c-4180-7e1e-54dd40b7f0d0" xlink:type="locator" />
    <link:calculationArc order="9" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_b5367bf2-397c-4180-7e1e-54dd40b7f0d0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_ffe19198-61f8-be6a-6111-42f645804604" xlink:type="locator" />
    <link:calculationArc order="10" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_ffe19198-61f8-be6a-6111-42f645804604" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_bae7c33e-3fd3-413e-0f2e-aaa9daaa49d7" xlink:type="locator" />
    <link:calculationArc order="11" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_bae7c33e-3fd3-413e-0f2e-aaa9daaa49d7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_503015f3-ea26-0d7a-c655-6d6aff0c5fab" xlink:type="locator" />
    <link:calculationArc order="12" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_503015f3-ea26-0d7a-c655-6d6aff0c5fab" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_ce728eee-c863-e8aa-a864-1d7a3b12d862" xlink:type="locator" />
    <link:calculationArc order="13" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_ce728eee-c863-e8aa-a864-1d7a3b12d862" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_7141899e-1a56-24a9-9015-497ee51d7b39" xlink:type="locator" />
    <link:calculationArc order="14" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_7141899e-1a56-24a9-9015-497ee51d7b39" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_fdbab275-b995-9f6e-4d30-38c2b0ed44dd" xlink:type="locator" />
    <link:calculationArc order="15" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_fdbab275-b995-9f6e-4d30-38c2b0ed44dd" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_74b08469-6f96-2804-5ecc-9a22aa904b19" xlink:type="locator" />
    <link:calculationArc order="16" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_74b08469-6f96-2804-5ecc-9a22aa904b19" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_bd299641-908b-c8b2-f875-0c1c56276976" xlink:type="locator" />
    <link:calculationArc order="17" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_975a3fab-7f49-5162-2cb5-31bb1479931f" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_bd299641-908b-c8b2-f875-0c1c56276976" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_95f67350-d3ec-5d41-e3b2-a4fe7a19e15b" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_104af714-3829-5d79-3fb3-059f86c366da" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_95f67350-d3ec-5d41-e3b2-a4fe7a19e15b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_654ef290-e18b-2d7e-cb70-6523e6bff51a" xlink:type="locator" />
    <link:calculationArc order="1" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_95f67350-d3ec-5d41-e3b2-a4fe7a19e15b" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_654ef290-e18b-2d7e-cb70-6523e6bff51a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_3908d0cf-ecb5-7874-8acd-53b57593e416" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_95f67350-d3ec-5d41-e3b2-a4fe7a19e15b" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_3908d0cf-ecb5-7874-8acd-53b57593e416" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_991d89e2-25f7-1061-f5f8-86acc91f176b" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_95f67350-d3ec-5d41-e3b2-a4fe7a19e15b" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_991d89e2-25f7-1061-f5f8-86acc91f176b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_4a851329-dac2-753a-9238-81894caa8647" xlink:type="locator" />
    <link:calculationArc order="4" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_95f67350-d3ec-5d41-e3b2-a4fe7a19e15b" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_4a851329-dac2-753a-9238-81894caa8647" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets_fd30e334-9842-e274-9b27-bbbf9eeb6080" xlink:type="locator" />
    <link:calculationArc order="5" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_95f67350-d3ec-5d41-e3b2-a4fe7a19e15b" xlink:to="loc_us-gaap_PaymentsToAcquireIntangibleAssets_fd30e334-9842-e274-9b27-bbbf9eeb6080" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_26bd868d-08b7-2a1c-7e38-c95d52d45bbc" xlink:type="locator" />
    <link:calculationArc order="6" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_95f67350-d3ec-5d41-e3b2-a4fe7a19e15b" xlink:to="loc_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_26bd868d-08b7-2a1c-7e38-c95d52d45bbc" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_08614f0c-c3a2-4c92-7c1d-aed5de18fe70" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_104af714-3829-5d79-3fb3-059f86c366da" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_08614f0c-c3a2-4c92-7c1d-aed5de18fe70" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_c1508a6a-babd-3ec7-9349-b4d44aab4c91" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_08614f0c-c3a2-4c92-7c1d-aed5de18fe70" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_c1508a6a-babd-3ec7-9349-b4d44aab4c91" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_fc2ca57d-dc62-7ce6-b2c4-25896bddd1fc" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_08614f0c-c3a2-4c92-7c1d-aed5de18fe70" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_fc2ca57d-dc62-7ce6-b2c4-25896bddd1fc" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_a269f982-b168-8b73-b7b4-38da20c0fb35" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_08614f0c-c3a2-4c92-7c1d-aed5de18fe70" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_a269f982-b168-8b73-b7b4-38da20c0fb35" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForPreviousAcquisition" xlink:label="loc_us-gaap_PaymentsForPreviousAcquisition_768bf698-aba6-ca2c-1e3c-91823ff1188a" xlink:type="locator" />
    <link:calculationArc order="4" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_08614f0c-c3a2-4c92-7c1d-aed5de18fe70" xlink:to="loc_us-gaap_PaymentsForPreviousAcquisition_768bf698-aba6-ca2c-1e3c-91823ff1188a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_9f72449f-62f6-71b1-0128-c7088f4f3527" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_104af714-3829-5d79-3fb3-059f86c366da" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_9f72449f-62f6-71b1-0128-c7088f4f3527" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_663a641c-b103-1e10-d3ec-c078ec7a031b" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_8baf87d5-5f2f-7d0d-cb85-b9f249bae0c5" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_663a641c-b103-1e10-d3ec-c078ec7a031b" xlink:to="loc_us-gaap_NetIncomeLoss_8baf87d5-5f2f-7d0d-cb85-b9f249bae0c5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_fc027bcf-19a3-7936-be65-3ec1deb94fb4" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_663a641c-b103-1e10-d3ec-c078ec7a031b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_fc027bcf-19a3-7936-be65-3ec1deb94fb4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_7888ca55-4b2a-9f3e-262a-d47103cbdac1" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_fc027bcf-19a3-7936-be65-3ec1deb94fb4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_7888ca55-4b2a-9f3e-262a-d47103cbdac1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_d9de8ce9-57ed-333b-718c-8618608550c0" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_7888ca55-4b2a-9f3e-262a-d47103cbdac1" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_d9de8ce9-57ed-333b-718c-8618608550c0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_767808f1-67e4-3a9e-d369-91823cb4cb6e" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_7888ca55-4b2a-9f3e-262a-d47103cbdac1" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_767808f1-67e4-3a9e-d369-91823cb4cb6e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_6bae9137-af31-193c-3d25-ae5a6b05d643" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_fc027bcf-19a3-7936-be65-3ec1deb94fb4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_6bae9137-af31-193c-3d25-ae5a6b05d643" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_0f105a40-393d-896e-47b8-344549074b13" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_6bae9137-af31-193c-3d25-ae5a6b05d643" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_0f105a40-393d-896e-47b8-344549074b13" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_2295fde9-6004-04c5-d6d3-8f045ad42e78" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_6bae9137-af31-193c-3d25-ae5a6b05d643" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_2295fde9-6004-04c5-d6d3-8f045ad42e78" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_5c0eef35-65f3-1f95-6efc-88d329d3a633" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_fc027bcf-19a3-7936-be65-3ec1deb94fb4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_5c0eef35-65f3-1f95-6efc-88d329d3a633" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfOperations" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_4e9b29b5-fb1b-d20b-bf4c-7c5fce00a58c" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_fa1d3f4f-f3cd-d09c-6e19-d12afc56c906" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareDiluted_4e9b29b5-fb1b-d20b-bf4c-7c5fce00a58c" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_fa1d3f4f-f3cd-d09c-6e19-d12afc56c906" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_6f331559-de12-221d-05a0-99d3e6340d1d" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareDiluted_4e9b29b5-fb1b-d20b-bf4c-7c5fce00a58c" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_6f331559-de12-221d-05a0-99d3e6340d1d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_5ba85eae-c4c2-72cc-f9e5-b0edc41783e5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_800dbb3e-0416-e0ab-a30e-cfaeb17b8c4c" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_5ba85eae-c4c2-72cc-f9e5-b0edc41783e5" xlink:to="loc_us-gaap_OperatingIncomeLoss_800dbb3e-0416-e0ab-a30e-cfaeb17b8c4c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_1fd2c3b5-12a4-0f06-9816-c6d97d4ac6df" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_800dbb3e-0416-e0ab-a30e-cfaeb17b8c4c" xlink:to="loc_us-gaap_GrossProfit_1fd2c3b5-12a4-0f06-9816-c6d97d4ac6df" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_f7eb5dbc-6802-ae51-de6b-9a44f4241080" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_1fd2c3b5-12a4-0f06-9816-c6d97d4ac6df" xlink:to="loc_us-gaap_SalesRevenueNet_f7eb5dbc-6802-ae51-de6b-9a44f4241080" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_368e9778-4d12-f736-79b9-637804de9992" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_1fd2c3b5-12a4-0f06-9816-c6d97d4ac6df" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_368e9778-4d12-f736-79b9-637804de9992" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_61ca427c-a8f7-736f-ff6b-927d826fc7fa" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_800dbb3e-0416-e0ab-a30e-cfaeb17b8c4c" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_61ca427c-a8f7-736f-ff6b-927d826fc7fa" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_33158828-aa18-5ead-beab-c284c08cb606" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_800dbb3e-0416-e0ab-a30e-cfaeb17b8c4c" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_33158828-aa18-5ead-beab-c284c08cb606" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_8bd26a17-2466-c9ca-826d-1c7167e5c7f9" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_5ba85eae-c4c2-72cc-f9e5-b0edc41783e5" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_8bd26a17-2466-c9ca-826d-1c7167e5c7f9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_e2a5a301-3613-5c19-2162-dbc30a68ed08" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_5ba85eae-c4c2-72cc-f9e5-b0edc41783e5" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_e2a5a301-3613-5c19-2162-dbc30a68ed08" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_b936f21a-1a1f-465e-d82c-5e014c9c5399" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_5ba85eae-c4c2-72cc-f9e5-b0edc41783e5" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_b936f21a-1a1f-465e-d82c-5e014c9c5399" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_20e5461b-32ea-98f3-95d9-101d9685c5a4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_675ece6f-7bae-6889-d81d-2e3a1b1c66b7" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareBasic_20e5461b-32ea-98f3-95d9-101d9685c5a4" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_675ece6f-7bae-6889-d81d-2e3a1b1c66b7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_1d0c1e33-0c84-3fd6-c715-55242a3d53be" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EarningsPerShareBasic_20e5461b-32ea-98f3-95d9-101d9685c5a4" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_1d0c1e33-0c84-3fd6-c715-55242a3d53be" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_8baf87d5-5f2f-7d0d-cb85-b9f249bae0c5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_ad8bf556-b7c8-7821-188c-b2f20d2a1601" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_8baf87d5-5f2f-7d0d-cb85-b9f249bae0c5" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_ad8bf556-b7c8-7821-188c-b2f20d2a1601" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_2f834d2c-e90e-21df-1140-46d28f006205" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_8baf87d5-5f2f-7d0d-cb85-b9f249bae0c5" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_2f834d2c-e90e-21df-1140-46d28f006205" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquity" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DerivativeInstruments" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsBalanceSheetLocationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsChangesInAociDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_c2ab90d9-c643-36b5-fcb1-44399f5af01d" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_822f8ba2-b243-2634-fc8e-3f754121605a" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeAssets_c2ab90d9-c643-36b5-fcb1-44399f5af01d" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_822f8ba2-b243-2634-fc8e-3f754121605a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_23c2ef57-239d-9d3d-3cf9-bbe7128813d8" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeAssets_c2ab90d9-c643-36b5-fcb1-44399f5af01d" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_23c2ef57-239d-9d3d-3cf9-bbe7128813d8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_4ae0c14d-f040-07bc-a290-e35634191a44" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_c7b0e6af-6a12-b105-2632-f06c1fca86ea" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeLiabilities_4ae0c14d-f040-07bc-a290-e35634191a44" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_c7b0e6af-6a12-b105-2632-f06c1fca86ea" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_e6a3a736-c922-7653-d812-b2b906b783d7" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeLiabilities_4ae0c14d-f040-07bc-a290-e35634191a44" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_e6a3a736-c922-7653-d812-b2b906b783d7" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DiscontinuedOperations" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_2f834d2c-e90e-21df-1140-46d28f006205" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Incomefromdiscontinuedoperationstotalpretax" xlink:label="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_337b3833-d72c-ddf8-5d9f-1a27f6198fa2" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_2f834d2c-e90e-21df-1140-46d28f006205" xlink:to="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_337b3833-d72c-ddf8-5d9f-1a27f6198fa2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_c456ee30-018f-7f2e-ff1b-e572f3b88321" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_337b3833-d72c-ddf8-5d9f-1a27f6198fa2" xlink:to="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_c456ee30-018f-7f2e-ff1b-e572f3b88321" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_9e4f1252-47bf-7ba6-fed7-01b1b8bd5d22" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_c456ee30-018f-7f2e-ff1b-e572f3b88321" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_9e4f1252-47bf-7ba6-fed7-01b1b8bd5d22" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_8712fd20-5d5a-b470-c9c7-0fe02bd6250a" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_c456ee30-018f-7f2e-ff1b-e572f3b88321" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_8712fd20-5d5a-b470-c9c7-0fe02bd6250a" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_52898f62-355c-e6c7-443c-c548fa7ceda9" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_c456ee30-018f-7f2e-ff1b-e572f3b88321" xlink:to="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_52898f62-355c-e6c7-443c-c548fa7ceda9" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_dcc45382-b3bf-df0e-2ae7-c548faa9490b" xlink:type="locator" />
    <link:calculationArc order="4" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_c456ee30-018f-7f2e-ff1b-e572f3b88321" xlink:to="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_dcc45382-b3bf-df0e-2ae7-c548faa9490b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_a0402987-ceb9-5a7d-0e67-355b757b10ca" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_c456ee30-018f-7f2e-ff1b-e572f3b88321" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_a0402987-ceb9-5a7d-0e67-355b757b10ca" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_4a7e0ee5-dabb-c5ff-9940-40cf69aee206" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_337b3833-d72c-ddf8-5d9f-1a27f6198fa2" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_4a7e0ee5-dabb-c5ff-9940-40cf69aee206" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_dd0a6efc-12cc-d6c2-cd8c-0b8c52628140" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_2f834d2c-e90e-21df-1140-46d28f006205" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_dd0a6efc-12cc-d6c2-cd8c-0b8c52628140" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/DocumentAndEntityInformation" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/EmployeeSavingsPlan" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/EmployeeSavingsPlanAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfFourYears" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfFourYears_fa74e40b-d550-0be5-36c4-1a27f4ebf93d" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfTwoYear" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfTwoYear_519d30f8-cdd4-fef5-5d65-1a27f5ed5508" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CompanyContributionsVestAtEndOfFourYears_fa74e40b-d550-0be5-36c4-1a27f4ebf93d" xlink:to="loc_cgnx_CompanyContributionsVestAtEndOfTwoYear_519d30f8-cdd4-fef5-5d65-1a27f5ed5508" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfThreeYears" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfThreeYears_29af6916-abba-009d-235a-1a27f5afccb1" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CompanyContributionsVestAtEndOfFourYears_fa74e40b-d550-0be5-36c4-1a27f4ebf93d" xlink:to="loc_cgnx_CompanyContributionsVestAtEndOfThreeYears_29af6916-abba-009d-235a-1a27f5afccb1" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/FairValueMeasurements" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/FairValueMeasurementsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/Goodwill" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/GoodwillAdditionalInformationDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/GoodwillChangesInCarryingValueOfGoodwillDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/GoodwillTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/IndemnificationProvisions" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/IndemnificationProvisionsNarrativeDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/IntangibleAssets" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/IntangibleAssetsAmortizedIntangibleAssetsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_20da5796-2b47-ef11-689a-589894b52fb4" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_20da5796-2b47-ef11-689a-589894b52fb4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_d981c90e-1b35-63c2-c258-b2af7bf5b3e0" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_d981c90e-1b35-63c2-c258-b2af7bf5b3e0" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_41b443af-a326-4272-6fa8-602f7260ec05" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_41b443af-a326-4272-6fa8-602f7260ec05" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36b3b152-325b-61f4-d066-1d3685b6c394" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36b3b152-325b-61f4-d066-1d3685b6c394" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_10c80460-5b5e-7e81-facb-0d1ed91293c2" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_10c80460-5b5e-7e81-facb-0d1ed91293c2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_ad66514d-dce4-49aa-3300-d457a5d4216a" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_ad66514d-dce4-49aa-3300-d457a5d4216a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_df415662-e392-2016-38c7-6c4ddd8a9714" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_df415662-e392-2016-38c7-6c4ddd8a9714" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_e7896482-8d23-a8f9-52eb-54c2c885aa06" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_70724be1-cf82-e50d-0cc7-fa6194f78b70" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_e7896482-8d23-a8f9-52eb-54c2c885aa06" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/IntangibleAssetsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/Inventories" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/InventoriesInventoriesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_a5201305-cb63-d1e5-f4e7-e25409fb5d3a" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_f925ebd3-061a-e984-2203-e9a7cc583900" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_a5201305-cb63-d1e5-f4e7-e25409fb5d3a" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_f925ebd3-061a-e984-2203-e9a7cc583900" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_7b711a15-f1f0-530a-4653-51844577a7f7" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_a5201305-cb63-d1e5-f4e7-e25409fb5d3a" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_7b711a15-f1f0-530a-4653-51844577a7f7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_5e2f7e41-cc2d-1880-9908-a0f60d8dacca" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_a5201305-cb63-d1e5-f4e7-e25409fb5d3a" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_5e2f7e41-cc2d-1880-9908-a0f60d8dacca" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/InventoriesTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/NewPronouncements" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipment" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_68e7c3c1-9b8d-84fe-3a5c-d69c15dfe7a2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_8c99d26c-e257-b8ba-86ee-4f792a9452ce" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_68e7c3c1-9b8d-84fe-3a5c-d69c15dfe7a2" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_8c99d26c-e257-b8ba-86ee-4f792a9452ce" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_95ebcb07-1c4a-1ded-365f-edc9cd2fa101" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_68e7c3c1-9b8d-84fe-3a5c-d69c15dfe7a2" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_95ebcb07-1c4a-1ded-365f-edc9cd2fa101" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipmentTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccounts" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccountsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformation" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformationAdditionalInformationDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformationTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/ShareholdersEquity" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/StockBasedCompensation" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseAdditionalInformationDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/StockBasedCompensationTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SubsequentEventsSubsequentEventsDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SubsequentEventsSubsequentEventsNotes" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/Taxes" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/TaxesAdditionalInformationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/TaxesConstituentsOfDeferredTaxAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_77f006fd-b727-9e55-3ff1-d8268898b4c7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsGrossNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_03a10c9a-541f-cbe3-ea62-2ac9139ea579" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_77f006fd-b727-9e55-3ff1-d8268898b4c7" xlink:to="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_03a10c9a-541f-cbe3-ea62-2ac9139ea579" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState" xlink:label="loc_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_361aeb78-7c6c-ad5d-3d47-1a27f604f7d7" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_03a10c9a-541f-cbe3-ea62-2ac9139ea579" xlink:to="loc_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_361aeb78-7c6c-ad5d-3d47-1a27f604f7d7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_87cdbec2-773d-bc5a-3050-f979513ecb7f" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_03a10c9a-541f-cbe3-ea62-2ac9139ea579" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_87cdbec2-773d-bc5a-3050-f979513ecb7f" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="loc_us-gaap_DeferredTaxAssetsInventory_8b88b249-eaff-c7db-3189-f3f8348e1a59" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_03a10c9a-541f-cbe3-ea62-2ac9139ea579" xlink:to="loc_us-gaap_DeferredTaxAssetsInventory_8b88b249-eaff-c7db-3189-f3f8348e1a59" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NoncurrentDeferredTaxAssetsDeprecation" xlink:label="loc_cgnx_NoncurrentDeferredTaxAssetsDeprecation_8e9f055a-1ffc-7107-0f33-1a27f6125594" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_03a10c9a-541f-cbe3-ea62-2ac9139ea579" xlink:to="loc_cgnx_NoncurrentDeferredTaxAssetsDeprecation_8e9f055a-1ffc-7107-0f33-1a27f6125594" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_b0dad9e3-8880-c8f5-a90b-b74e8b0a9e96" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_03a10c9a-541f-cbe3-ea62-2ac9139ea579" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_b0dad9e3-8880-c8f5-a90b-b74e8b0a9e96" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DeferredTaxAssetsOtherNoncurrent" xlink:label="loc_cgnx_DeferredTaxAssetsOtherNoncurrent_7f97b8dd-072f-97f1-cb22-1a27f5e79597" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_03a10c9a-541f-cbe3-ea62-2ac9139ea579" xlink:to="loc_cgnx_DeferredTaxAssetsOtherNoncurrent_7f97b8dd-072f-97f1-cb22-1a27f5e79597" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_3b38d8c3-335c-53c8-5510-f59766fb81d5" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_77f006fd-b727-9e55-3ff1-d8268898b4c7" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_3b38d8c3-335c-53c8-5510-f59766fb81d5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_b150988e-e8e1-bb1b-df15-f0d7f7b57074" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_77f006fd-b727-9e55-3ff1-d8268898b4c7" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_b150988e-e8e1-bb1b-df15-f0d7f7b57074" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/TaxesConstituentsOfProvisionForIncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_9b166675-b7b2-1067-1806-03b1ee0126f1" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_7107f7ad-ea23-072c-c2a3-7b97b29553fc" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_9b166675-b7b2-1067-1806-03b1ee0126f1" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_7107f7ad-ea23-072c-c2a3-7b97b29553fc" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_b8476f99-9bab-21a6-d61d-02a9c0661176" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_7107f7ad-ea23-072c-c2a3-7b97b29553fc" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_b8476f99-9bab-21a6-d61d-02a9c0661176" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_3ab57836-244f-310a-5a92-cb6b846a6a17" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_7107f7ad-ea23-072c-c2a3-7b97b29553fc" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_3ab57836-244f-310a-5a92-cb6b846a6a17" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_4ecf0d1c-66f0-0be9-cfb9-ecdef8184a9e" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_7107f7ad-ea23-072c-c2a3-7b97b29553fc" xlink:to="loc_us-gaap_CurrentForeignTaxExpenseBenefit_4ecf0d1c-66f0-0be9-cfb9-ecdef8184a9e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_91674616-989d-90e8-1302-b52ff7a33098" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_9b166675-b7b2-1067-1806-03b1ee0126f1" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_91674616-989d-90e8-1302-b52ff7a33098" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_f316d4eb-12c7-f1d0-fd3d-ba8b892345ca" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_91674616-989d-90e8-1302-b52ff7a33098" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_f316d4eb-12c7-f1d0-fd3d-ba8b892345ca" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_88730b7a-f2f4-51cb-d8a1-7a903025ce13" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_91674616-989d-90e8-1302-b52ff7a33098" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_88730b7a-f2f4-51cb-d8a1-7a903025ce13" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_79489ccf-36b3-815d-b6db-f2a6ac50099c" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_91674616-989d-90e8-1302-b52ff7a33098" xlink:to="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_79489ccf-36b3-815d-b6db-f2a6ac50099c" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_9d686b75-f9ca-45e9-dcb7-a314128deba9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8e6be169-09a9-5661-71bb-cb6bce1f56f7" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_9d686b75-f9ca-45e9-dcb7-a314128deba9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8e6be169-09a9-5661-71bb-cb6bce1f56f7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_a476c969-d3fd-cf02-0d56-ac5fad2f8a34" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_9d686b75-f9ca-45e9-dcb7-a314128deba9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_a476c969-d3fd-cf02-0d56-ac5fad2f8a34" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_592bc0e7-9233-a559-98bd-046511cfe2a6" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_9d686b75-f9ca-45e9-dcb7-a314128deba9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_592bc0e7-9233-a559-98bd-046511cfe2a6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_0d763afc-4281-0204-2391-400c96ae6714" xlink:type="locator" />
    <link:calculationArc order="4" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_9d686b75-f9ca-45e9-dcb7-a314128deba9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_0d763afc-4281-0204-2391-400c96ae6714" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_50c81e95-adf2-3649-3640-5d507c220b09" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_9d686b75-f9ca-45e9-dcb7-a314128deba9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_50c81e95-adf2-3649-3640-5d507c220b09" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_260b0554-5407-84a9-0ddc-c064bbfac41b" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_9d686b75-f9ca-45e9-dcb7-a314128deba9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_260b0554-5407-84a9-0ddc-c064bbfac41b" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_2BB1F96D733E9503B86C1ACB2DF3251F" xlink:type="locator" />
    <link:calculationArc order="7" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_9d686b75-f9ca-45e9-dcb7-a314128deba9" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_2BB1F96D733E9503B86C1ACB2DF3251F" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/TaxesTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/WeightedAverageShares" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/WeightedAverageSharesAdditionalInformationDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_ae404dc0-76bc-cd1d-811f-e233c07e0569" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_e841a58a-f12e-0adc-36de-0299a43719a9" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_ae404dc0-76bc-cd1d-811f-e233c07e0569" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_e841a58a-f12e-0adc-36de-0299a43719a9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_e24f9d55-d9ef-3f95-c65d-cbc9febefcb3" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_ae404dc0-76bc-cd1d-811f-e233c07e0569" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_e24f9d55-d9ef-3f95-c65d-cbc9febefcb3" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://cognex.com/role/WeightedAverageSharesTables" xlink:type="extended" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>11
<FILENAME>cgnx-20161231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpenses" xlink:href="cgnx-20161231.xsd#AccruedExpenses" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpensesChangesInWarrantyObligationsDetail" xlink:href="cgnx-20161231.xsd#AccruedExpensesChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpensesConstituentsOfAccruedExpensesDetail" xlink:href="cgnx-20161231.xsd#AccruedExpensesConstituentsOfAccruedExpensesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpensesTables" xlink:href="cgnx-20161231.xsd#AccruedExpensesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Acquisitions" xlink:href="cgnx-20161231.xsd#Acquisitions" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAcquisitionsDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsAcquisitionsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAcquisitionsTables" xlink:href="cgnx-20161231.xsd#AcquisitionsAcquisitionsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAqsenseSLNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsAqsenseSLNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAqsenseSLPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsAqsenseSLPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsChiaroTechnologiesLlcDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsEnshapeGmbhNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsEnshapeGmbhNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsManateeWorksIncNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsManateeWorksIncNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsWebscanIncNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsWebscanIncNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsWebscanIncPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsWebscanIncPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestments" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingencies" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesTables" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20161231.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfOperationsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquity" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20161231.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsBalanceSheetLocationDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsBalanceSheetLocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsChangesInAociDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsChangesInAociDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsOutstandingForwardContractsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperations" xlink:href="cgnx-20161231.xsd#DiscontinuedOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsDetails" xlink:href="cgnx-20161231.xsd#DiscontinuedOperationsDiscontinuedOperationsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" xlink:href="cgnx-20161231.xsd#DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsTables" xlink:href="cgnx-20161231.xsd#DiscontinuedOperationsDiscontinuedOperationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DocumentAndEntityInformation" xlink:href="cgnx-20161231.xsd#DocumentAndEntityInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/EmployeeSavingsPlan" xlink:href="cgnx-20161231.xsd#EmployeeSavingsPlan" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/EmployeeSavingsPlanAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#EmployeeSavingsPlanAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20161231.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsNarrativeDetails" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Goodwill" xlink:href="cgnx-20161231.xsd#Goodwill" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/GoodwillAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#GoodwillAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/GoodwillChangesInCarryingValueOfGoodwillDetail" xlink:href="cgnx-20161231.xsd#GoodwillChangesInCarryingValueOfGoodwillDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/GoodwillTables" xlink:href="cgnx-20161231.xsd#GoodwillTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IndemnificationProvisions" xlink:href="cgnx-20161231.xsd#IndemnificationProvisions" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IndemnificationProvisionsNarrativeDetails" xlink:href="cgnx-20161231.xsd#IndemnificationProvisionsNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssets" xlink:href="cgnx-20161231.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssetsAmortizedIntangibleAssetsDetail" xlink:href="cgnx-20161231.xsd#IntangibleAssetsAmortizedIntangibleAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" xlink:href="cgnx-20161231.xsd#IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20161231.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Inventories" xlink:href="cgnx-20161231.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/InventoriesInventoriesDetail" xlink:href="cgnx-20161231.xsd#InventoriesInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/InventoriesTables" xlink:href="cgnx-20161231.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/NewPronouncements" xlink:href="cgnx-20161231.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipment" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipment" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetails" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipmentAdditionalInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipmentTables" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipmentTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccounts" xlink:href="cgnx-20161231.xsd#ScheduleIiValuationAndQualifyingAccounts" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccountsDetail" xlink:href="cgnx-20161231.xsd#ScheduleIiValuationAndQualifyingAccountsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformation" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformationAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformationAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformationTables" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ShareholdersEquity" xlink:href="cgnx-20161231.xsd#ShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#ShareholdersEquityAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensation" xlink:href="cgnx-20161231.xsd#StockBasedCompensation" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" xlink:href="cgnx-20161231.xsd#StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationTables" xlink:href="cgnx-20161231.xsd#StockBasedCompensationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SubsequentEventsSubsequentEventsDetails" xlink:href="cgnx-20161231.xsd#SubsequentEventsSubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SubsequentEventsSubsequentEventsNotes" xlink:href="cgnx-20161231.xsd#SubsequentEventsSubsequentEventsNotes" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Taxes" xlink:href="cgnx-20161231.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesAdditionalInformationDetails" xlink:href="cgnx-20161231.xsd#TaxesAdditionalInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" xlink:href="cgnx-20161231.xsd#TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesConstituentsOfDeferredTaxAssetsDetails" xlink:href="cgnx-20161231.xsd#TaxesConstituentsOfDeferredTaxAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesConstituentsOfProvisionForIncomeTaxesDetails" xlink:href="cgnx-20161231.xsd#TaxesConstituentsOfProvisionForIncomeTaxesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" xlink:href="cgnx-20161231.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesTables" xlink:href="cgnx-20161231.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20161231.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageSharesAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#WeightedAverageSharesAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20161231.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20161231.xsd#WeightedAverageSharesTables" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple" />
  <link:definitionLink xlink:role="http://cognex.com/role/AccruedExpenses" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/AccruedExpensesChangesInWarrantyObligationsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/AccruedExpensesConstituentsOfAccruedExpensesDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/AccruedExpensesTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/Acquisitions" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsAcquisitionsDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsAcquisitionsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsAqsenseSLNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_8BA9109DDACFB91059821E3AE2867710" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_70FD4B31D0F8705D254B1E3AE2865A31" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8BA9109DDACFB91059821E3AE2867710" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_70FD4B31D0F8705D254B1E3AE2865A31" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_31694C9017FCE6CE2BA91E3AE286D670" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_70FD4B31D0F8705D254B1E3AE2865A31" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_31694C9017FCE6CE2BA91E3AE286D670" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_AF740078E020908909FD1E3AE28666E3_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_31694C9017FCE6CE2BA91E3AE286D670" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_AF740078E020908909FD1E3AE28666E3_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_AF740078E020908909FD1E3AE28666E3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_31694C9017FCE6CE2BA91E3AE286D670" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_AF740078E020908909FD1E3AE28666E3" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AQSenseS.L.Member" xlink:label="loc_cgnx_AQSenseS.L.Member_E4A76C53A654FC4B88D31E3AE286BD8A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_AF740078E020908909FD1E3AE28666E3" xlink:to="loc_cgnx_AQSenseS.L.Member_E4A76C53A654FC4B88D31E3AE286BD8A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_3E24B3A0C19C338822AD1E3AE287DB66" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8BA9109DDACFB91059821E3AE2867710" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_3E24B3A0C19C338822AD1E3AE287DB66" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_C70937ACBBE5E4DBBF481E3AE287635F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8BA9109DDACFB91059821E3AE2867710" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_C70937ACBBE5E4DBBF481E3AE287635F" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsAqsenseSLPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C4BFCE94A213AC776BC61E3AE28111FC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C4BFCE94A213AC776BC61E3AE28111FC" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4E424510DB182092ACF91E40A3651CDF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C4BFCE94A213AC776BC61E3AE28111FC" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4E424510DB182092ACF91E40A3651CDF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4E424510DB182092ACF91E40A3651CDF" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4E424510DB182092ACF91E40A3651CDF" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_6AD497B3C69A9DA6657B1E40DBF6BAC6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6" xlink:to="loc_us-gaap_CustomerRelationshipsMember_6AD497B3C69A9DA6657B1E40DBF6BAC6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_500D1989F4E78089C6B81E4114B56192" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_500D1989F4E78089C6B81E4114B56192" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_32F4BA044C91094BBE751E3AE281845B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C4BFCE94A213AC776BC61E3AE28111FC" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_32F4BA044C91094BBE751E3AE281845B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CDB99EDB69F9267FB8181E3AE2818982_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_32F4BA044C91094BBE751E3AE281845B" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CDB99EDB69F9267FB8181E3AE2818982_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CDB99EDB69F9267FB8181E3AE2818982" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_32F4BA044C91094BBE751E3AE281845B" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CDB99EDB69F9267FB8181E3AE2818982" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AQSenseS.L.Member" xlink:label="loc_cgnx_AQSenseS.L.Member_CAE5C5B48107F69CE7761E3AE281AA99" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CDB99EDB69F9267FB8181E3AE2818982" xlink:to="loc_cgnx_AQSenseS.L.Member_CAE5C5B48107F69CE7761E3AE281AA99" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_BC5490CB4271D65AFB2D1E3AE2826CEF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_BC5490CB4271D65AFB2D1E3AE2826CEF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_18E88F0EB5AB9E2985731E3AE282B1B5" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_18E88F0EB5AB9E2985731E3AE282B1B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_F9E895851DEE04EFB9ED1E3AE2824D8A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_us-gaap_Goodwill_F9E895851DEE04EFB9ED1E3AE2824D8A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_8F302C9C17439B9390D61E3AE282D380" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_8F302C9C17439B9390D61E3AE282D380" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_0605AD33AB7AF10851CB1E3AE2820544" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_0605AD33AB7AF10851CB1E3AE2820544" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1AC1467AB6FF5635EE6D1B877D680527" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1AC1467AB6FF5635EE6D1B877D680527" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_66BF28EBA5879AE85E531B877D68B059" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1AC1467AB6FF5635EE6D1B877D680527" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_66BF28EBA5879AE85E531B877D68B059" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_248EE04B00A2E258E6CC1B877D680BE4_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_66BF28EBA5879AE85E531B877D68B059" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_248EE04B00A2E258E6CC1B877D680BE4_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_248EE04B00A2E258E6CC1B877D680BE4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_66BF28EBA5879AE85E531B877D68B059" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_248EE04B00A2E258E6CC1B877D680BE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_AD9D23D9CF593FEEC6D51B877D6896BD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_248EE04B00A2E258E6CC1B877D680BE4" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_AD9D23D9CF593FEEC6D51B877D6896BD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_202032F9D1A4588E70111B877D680FA4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1AC1467AB6FF5635EE6D1B877D680527" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_202032F9D1A4588E70111B877D680FA4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4F948F24542AF098CB981B877D688EB3_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_202032F9D1A4588E70111B877D680FA4" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4F948F24542AF098CB981B877D688EB3_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4F948F24542AF098CB981B877D688EB3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_202032F9D1A4588E70111B877D680FA4" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4F948F24542AF098CB981B877D688EB3" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_CA002A0AF262FA09FC741B877D68F76E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4F948F24542AF098CB981B877D688EB3" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_CA002A0AF262FA09FC741B877D68F76E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_E2E1BA5FA4E78681031C1B877D687AA3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_E2E1BA5FA4E78681031C1B877D687AA3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_BD47A18FC65803A2349A1B877D6929D8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_BD47A18FC65803A2349A1B877D6929D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_3FDC1CB077C546FAB3201B877D694A38" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_3FDC1CB077C546FAB3201B877D694A38" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A8761A5B89EB3DE550A1B877D699027" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A8761A5B89EB3DE550A1B877D699027" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_B1E4BE32192FE8E70E641B877D697D02" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_B1E4BE32192FE8E70E641B877D697D02" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_41FF0F610703C59125161B877D69183A" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_41FF0F610703C59125161B877D69183A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_F050E9039DDCB60DB1CF1B877D693958" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_F050E9039DDCB60DB1CF1B877D693958" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C8203DC23A8ACAC1DCF91B5648E0EB2D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C8203DC23A8ACAC1DCF91B5648E0EB2D" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_CC0A8D44122DEE3F20581B57E34ACB4D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C8203DC23A8ACAC1DCF91B5648E0EB2D" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_CC0A8D44122DEE3F20581B57E34ACB4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_2C3D3FBDBE0E31D466C51B57E34BFB04_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_CC0A8D44122DEE3F20581B57E34ACB4D" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_2C3D3FBDBE0E31D466C51B57E34BFB04_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_2C3D3FBDBE0E31D466C51B57E34BFB04" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_CC0A8D44122DEE3F20581B57E34ACB4D" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_2C3D3FBDBE0E31D466C51B57E34BFB04" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_79C68C4D9405017212F01B582EA5A1DA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_2C3D3FBDBE0E31D466C51B57E34BFB04" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_79C68C4D9405017212F01B582EA5A1DA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_813860236AA856C2810C1B5648E647AC" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C8203DC23A8ACAC1DCF91B5648E0EB2D" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_813860236AA856C2810C1B5648E647AC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_35482B764E0A6CBF64951B5648E77E76_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_813860236AA856C2810C1B5648E647AC" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_35482B764E0A6CBF64951B5648E77E76_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_35482B764E0A6CBF64951B5648E77E76" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_813860236AA856C2810C1B5648E647AC" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_35482B764E0A6CBF64951B5648E77E76" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_DFF31D1F8907A2AFCAAC1B5798C6DD98" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_35482B764E0A6CBF64951B5648E77E76" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_DFF31D1F8907A2AFCAAC1B5798C6DD98" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_577BCC809C34979386081B56D4430621" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_577BCC809C34979386081B56D4430621" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_E6BA7D3C9179506353C51B5702B6AEE4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_E6BA7D3C9179506353C51B5702B6AEE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_25E2367C7F8E31F1B7DF1B5870517A23" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_us-gaap_Goodwill_25E2367C7F8E31F1B7DF1B5870517A23" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_E93C2F841AA11E1B40151B5CAED863C9" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_E93C2F841AA11E1B40151B5CAED863C9" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsEnshapeGmbhNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_B4642D762DD138FB07871B7AF3D0BF92" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_B4642D762DD138FB07871B7AF3D0BF92" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_2B756CC7CDD26C6FC22F1B7AF3D189CE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_B4642D762DD138FB07871B7AF3D0BF92" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_2B756CC7CDD26C6FC22F1B7AF3D189CE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_D4948F3F133DF331C3C41B7AF3D12675_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2B756CC7CDD26C6FC22F1B7AF3D189CE" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_D4948F3F133DF331C3C41B7AF3D12675_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_D4948F3F133DF331C3C41B7AF3D12675" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2B756CC7CDD26C6FC22F1B7AF3D189CE" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_D4948F3F133DF331C3C41B7AF3D12675" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EnShapeGmbHMember" xlink:label="loc_cgnx_EnShapeGmbHMember_E6F550A966C7EAFEE4BD1B7AF3D139B5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_D4948F3F133DF331C3C41B7AF3D12675" xlink:to="loc_cgnx_EnShapeGmbHMember_E6F550A966C7EAFEE4BD1B7AF3D139B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_F6E0BD667E530871692D1B7AF3D2D717" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_F6E0BD667E530871692D1B7AF3D2D717" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_51B894AB59F16A0058541B7AF3D2DCF8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_51B894AB59F16A0058541B7AF3D2DCF8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment" xlink:label="loc_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_2CE13064B9FF0A53BBEC1B7AF3D2C757" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_2CE13064B9FF0A53BBEC1B7AF3D2C757" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_04A46ED9E7010B6D98891B7AF3D218FF" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_04A46ED9E7010B6D98891B7AF3D218FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_E9D1869AFDAC7DC5D07B1B7AF3D2E2B0" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_E9D1869AFDAC7DC5D07B1B7AF3D2E2B0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_5E225E55367C19A2EA3C1B7DF4F1B589" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_5E225E55367C19A2EA3C1B7DF4F1B589" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_8F275C773B10DFA3A80B1E340E60F2E3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_8F275C773B10DFA3A80B1E340E60F2E3" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5DA68910AD0F4587DBAD1E340E61F4A9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_8F275C773B10DFA3A80B1E340E60F2E3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5DA68910AD0F4587DBAD1E340E61F4A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5DA68910AD0F4587DBAD1E340E61F4A9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5DA68910AD0F4587DBAD1E340E61F4A9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_B04FE99AF6E43B49C1721E340E61FFFB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC" xlink:to="loc_us-gaap_CustomerRelationshipsMember_B04FE99AF6E43B49C1721E340E61FFFB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_8536435B6E2FC99A473A1E340E6114A8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_8536435B6E2FC99A473A1E340E6114A8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_0C94DFDF027FCDDEDAFC1E340E61D111" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_8F275C773B10DFA3A80B1E340E60F2E3" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_0C94DFDF027FCDDEDAFC1E340E61D111" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_33BDB2A9761986BFC97E1E340E61D23B_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_0C94DFDF027FCDDEDAFC1E340E61D111" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_33BDB2A9761986BFC97E1E340E61D23B_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_33BDB2A9761986BFC97E1E340E61D23B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_0C94DFDF027FCDDEDAFC1E340E61D111" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_33BDB2A9761986BFC97E1E340E61D23B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EnShapeGmbHMember" xlink:label="loc_cgnx_EnShapeGmbHMember_221ECBDBF33B7FBCD9791E340E61D819" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_33BDB2A9761986BFC97E1E340E61D23B" xlink:to="loc_cgnx_EnShapeGmbHMember_221ECBDBF33B7FBCD9791E340E61D819" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_BE4AAD9B84A83601740C1E340E684460" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_BE4AAD9B84A83601740C1E340E684460" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_763E5AA6626289565DB41E340E699FFC" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_763E5AA6626289565DB41E340E699FFC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_FAAB07F1B30B3E38376C1E340E690D84" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_FAAB07F1B30B3E38376C1E340E690D84" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_FDE215F100A030AFDCB51E340E6E5CC4" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_FDE215F100A030AFDCB51E340E6E5CC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_0C6898E3631E7B45FE341E340E6E3D34" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_Goodwill_0C6898E3631E7B45FE341E340E6E3D34" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_91F6B4781275B410F7191E340E6FF53B" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_91F6B4781275B410F7191E340E6FF53B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_236790FAF71ADBE720051E340E6F486C" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_236790FAF71ADBE720051E340E6F486C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_CF7FCC44D8D3B5AE30591E340E71A2B6" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_CF7FCC44D8D3B5AE30591E340E71A2B6" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsManateeWorksIncNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_0287FFC3266B11731A081B98AE91B8F4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_0287FFC3266B11731A081B98AE91B8F4" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="loc_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_0287FFC3266B11731A081B98AE91B8F4" xlink:to="loc_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:to="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:to="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScenarioForecastMember" xlink:label="loc_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:to="loc_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_2FFB249576E9C2BFACAA1B98AE9260A6" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_0287FFC3266B11731A081B98AE91B8F4" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_2FFB249576E9C2BFACAA1B98AE9260A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7BA63ECCAAF9D649F3781B98AE92B308_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2FFB249576E9C2BFACAA1B98AE9260A6" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7BA63ECCAAF9D649F3781B98AE92B308_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7BA63ECCAAF9D649F3781B98AE92B308" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2FFB249576E9C2BFACAA1B98AE9260A6" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7BA63ECCAAF9D649F3781B98AE92B308" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_EF6840A0E8016CC9A2361B98AE922303" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7BA63ECCAAF9D649F3781B98AE92B308" xlink:to="loc_cgnx_ManateeWorksInc.Member_EF6840A0E8016CC9A2361B98AE922303" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_C4316C5550459387C15F1B98AE92A1E2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_C4316C5550459387C15F1B98AE92A1E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_8DFFC51692E2ABC160EC1B98AE9299EB" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_8DFFC51692E2ABC160EC1B98AE9299EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3145AE1FF07BF8587A061B98AE926FCF" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3145AE1FF07BF8587A061B98AE926FCF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForPreviousAcquisition" xlink:label="loc_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_DE362853760BB2F1EC321B98AE92F246" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_DE362853760BB2F1EC321B98AE92F246" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:to="loc_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:to="loc_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="loc_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsWebscanIncNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DF1C569AFBDA7C43B72B1B98AEBBB6C5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DF1C569AFBDA7C43B72B1B98AEBBB6C5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DF1C569AFBDA7C43B72B1B98AEBBB6C5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DF1C569AFBDA7C43B72B1B98AEBBB6C5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_7B397C5DBD781ABBAB4A1B98AEBBDA54" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6" xlink:to="loc_us-gaap_CustomerRelationshipsMember_7B397C5DBD781ABBAB4A1B98AEBBDA54" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_3C776DA98D698B8F588E1B98AEBB9464" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_3C776DA98D698B8F588E1B98AEBB9464" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_A426EA3845906AEF27311B98AEBBDE4A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_A426EA3845906AEF27311B98AEBBDE4A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_185E774C3D1165EAB3261B98AEBB7303_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_A426EA3845906AEF27311B98AEBBDE4A" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_185E774C3D1165EAB3261B98AEBB7303_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_185E774C3D1165EAB3261B98AEBB7303" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_A426EA3845906AEF27311B98AEBBDE4A" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_185E774C3D1165EAB3261B98AEBB7303" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_07CA291613C3F9C5BA701B98AEBB1AA8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_185E774C3D1165EAB3261B98AEBB7303" xlink:to="loc_us-gaap_SubsequentEventMember_07CA291613C3F9C5BA701B98AEBB1AA8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_8DD6709DB2544D0B27F51B98AEBBC4AB" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_8DD6709DB2544D0B27F51B98AEBBC4AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_253508B86E6D2D3A78A61B98AEBC929F_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_8DD6709DB2544D0B27F51B98AEBBC4AB" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_253508B86E6D2D3A78A61B98AEBC929F_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_253508B86E6D2D3A78A61B98AEBC929F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_8DD6709DB2544D0B27F51B98AEBBC4AB" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_253508B86E6D2D3A78A61B98AEBC929F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_WebscanInc.Member" xlink:label="loc_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_253508B86E6D2D3A78A61B98AEBC929F" xlink:to="loc_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/AcquisitionsWebscanIncPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_68206A61E2531554F1711E340ED975B9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_68206A61E2531554F1711E340ED975B9" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_95A80F61D395F2C61B001E340ED9E3BA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_68206A61E2531554F1711E340ED975B9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_95A80F61D395F2C61B001E340ED9E3BA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_95A80F61D395F2C61B001E340ED9E3BA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_95A80F61D395F2C61B001E340ED9E3BA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_05210A8B3992AE681D991E340ED911E1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991" xlink:to="loc_us-gaap_CustomerRelationshipsMember_05210A8B3992AE681D991E340ED911E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_A09C635709BB7291EFF01E340ED9480F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_A09C635709BB7291EFF01E340ED9480F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_6434DAA9C487861370381E340ED93ED9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_68206A61E2531554F1711E340ED975B9" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_6434DAA9C487861370381E340ED93ED9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_20C0B77B10395644C1131E340EDA3E28_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_6434DAA9C487861370381E340ED93ED9" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_20C0B77B10395644C1131E340EDA3E28_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_20C0B77B10395644C1131E340EDA3E28" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_6434DAA9C487861370381E340ED93ED9" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_20C0B77B10395644C1131E340EDA3E28" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_WebscanInc.Member" xlink:label="loc_cgnx_WebscanInc.Member_5C1AAA7212122A98DB4D1E340EDAAF87" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_20C0B77B10395644C1131E340EDA3E28" xlink:to="loc_cgnx_WebscanInc.Member_5C1AAA7212122A98DB4D1E340EDAAF87" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_06C0E51A592054A2D7D01E340EDA40EE" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_06C0E51A592054A2D7D01E340EDA40EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_7208D82220CDBB3D338B1E340EDA719C" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_7208D82220CDBB3D338B1E340EDA719C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_03FFB7D9064270F91FEF1E340EDA4CBD" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_Goodwill_03FFB7D9064270F91FEF1E340EDA4CBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_60B0B105390CB734411D1E340EDA5886" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_60B0B105390CB734411D1E340EDA5886" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestments" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9879461E8D4F504D34DD1E4C4A9287EE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9879461E8D4F504D34DD1E4C4A9287EE" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_9941DDA39DC0558067BF1E4C4A97F9FD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9879461E8D4F504D34DD1E4C4A9287EE" xlink:to="loc_dei_LegalEntityAxis_9941DDA39DC0558067BF1E4C4A97F9FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_551BB5E5237994D27A241E4C4A974060_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_9941DDA39DC0558067BF1E4C4A97F9FD" xlink:to="loc_dei_EntityDomain_551BB5E5237994D27A241E4C4A974060_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_551BB5E5237994D27A241E4C4A974060" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_9941DDA39DC0558067BF1E4C4A97F9FD" xlink:to="loc_dei_EntityDomain_551BB5E5237994D27A241E4C4A974060" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DueFromForeignBanks" xlink:label="loc_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedGains" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MaximumInvestmentInLimitedPartnership" xlink:label="loc_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ContributionToLimitedPartnership" xlink:label="loc_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RemainingAmountOfCommitment" xlink:label="loc_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ContributionMadeToPartnershipDuringPeriod" xlink:label="loc_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProceedsFromLimitedPartnershipInvestments" xlink:label="loc_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostMethodInvestments" xlink:label="loc_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PartnersCapitalAccountReturnOfCapital" xlink:label="loc_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostMethodInvestmentsRealizedGains" xlink:label="loc_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_F3E08C6010DF290088A61A282EE03E42" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:to="loc_dei_LegalEntityAxis_F3E08C6010DF290088A61A282EE03E42" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_46D4FF4D2D47027616661A282EE04EED_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_F3E08C6010DF290088A61A282EE03E42" xlink:to="loc_dei_EntityDomain_46D4FF4D2D47027616661A282EE04EED_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_46D4FF4D2D47027616661A282EE04EED" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_F3E08C6010DF290088A61A282EE03E42" xlink:to="loc_dei_EntityDomain_46D4FF4D2D47027616661A282EE04EED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_22917DDA6BB704903BE01A282EE0CB1C" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_22917DDA6BB704903BE01A282EE0CB1C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_22917DDA6BB704903BE01A282EE0CB1C" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_22917DDA6BB704903BE01A282EE0CB1C" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EuroliquidityfundMember" xlink:label="loc_cgnx_EuroliquidityfundMember_6913C69F6B25727F8EB21A282EE509F8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_cgnx_EuroliquidityfundMember_6913C69F6B25727F8EB21A282EE509F8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_EB053CB9D4EB13E591481A282EE67FAC" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_EB053CB9D4EB13E591481A282EE67FAC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_2C887DAFB260706250B71A282EE6958D" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_cgnx_AgencyBondsMember_2C887DAFB260706250B71A282EE6958D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_50608F06FB4FCB6F46311A282EE63C17" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_50608F06FB4FCB6F46311A282EE63C17" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_79199916086AFBAB19291A282EE63760" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_MunicipalBondsMember_79199916086AFBAB19291A282EE63760" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_0349FD7D00FCACC958011A282EE69108" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_0349FD7D00FCACC958011A282EE69108" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_C9DC36F57187A23B17751A282EE6210E" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_C9DC36F57187A23B17751A282EE6210E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:to="loc_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:to="loc_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_45E465362445D5E0C8B71A282EE6D2D0" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_45E465362445D5E0C8B71A282EE6D2D0" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DA8B68086FA1A16444D41E4C4AA81F5A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DA8B68086FA1A16444D41E4C4AA81F5A" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_38EF43461314792677C61E4C4AA94F20" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DA8B68086FA1A16444D41E4C4AA81F5A" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_38EF43461314792677C61E4C4AA94F20" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_38EF43461314792677C61E4C4AA94F20" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_38EF43461314792677C61E4C4AA94F20" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasuryBillSecuritiesMember" xlink:label="loc_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_CC07693750537C71298A1E4C4AA96D46" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_CC07693750537C71298A1E4C4AA96D46" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_6CEC0A102FC3EDDDC54D1E4C4AA9BE22" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_6CEC0A102FC3EDDDC54D1E4C4AA9BE22" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EuroliquidityfundMember" xlink:label="loc_cgnx_EuroliquidityfundMember_DB4A37B9E2C5E00E3DC41E4C4AA9C379" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_cgnx_EuroliquidityfundMember_DB4A37B9E2C5E00E3DC41E4C4AA9C379" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_C9F421EE207141E96B161E4C4AA948D7" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_C9F421EE207141E96B161E4C4AA948D7" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_5C9FDA558238B66258191E4C4AA94766" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_cgnx_AgencyBondsMember_5C9FDA558238B66258191E4C4AA94766" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_47F810BD21D1D3CF4D691E4C4AA98207" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_MunicipalBondsMember_47F810BD21D1D3CF4D691E4C4AA98207" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2156FC28953679CAECB51E4C4AA93F96" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2156FC28953679CAECB51E4C4AA93F96" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3CEAD5654C35D25715E91E4C4AA96B7C" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3CEAD5654C35D25715E91E4C4AA96B7C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AssetBackedSecuritiesFairValueDisclosure" xlink:label="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_010241F57F35DE9A900E1E4C4AA92B19" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_010241F57F35DE9A900E1E4C4AA92B19" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostMethodInvestments" xlink:label="loc_us-gaap_CostMethodInvestments_A0BD8C7CC1A12252506D1E4C4AAFDCE0" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_CostMethodInvestments_A0BD8C7CC1A12252506D1E4C4AAFDCE0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_17271A7F0BBFE5EF82FB1E4C4AAFA967" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_LongTermInvestments_17271A7F0BBFE5EF82FB1E4C4AAFA967" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeAxis" xlink:label="loc_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:to="loc_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:to="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:to="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumMember" xlink:label="loc_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:to="loc_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:to="loc_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:to="loc_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:to="loc_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EuroliquidityfundMember" xlink:label="loc_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4B6C0FEDE66FD501D12E1A2830F85C65" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4B6C0FEDE66FD501D12E1A2830F85C65" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_7E7243AE8EF5CBD0F2331A2830F87416" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4B6C0FEDE66FD501D12E1A2830F85C65" xlink:to="loc_dei_LegalEntityAxis_7E7243AE8EF5CBD0F2331A2830F87416" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_BCFE6E40C8AB87A182971A2830F97E06_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_7E7243AE8EF5CBD0F2331A2830F87416" xlink:to="loc_dei_EntityDomain_BCFE6E40C8AB87A182971A2830F97E06_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_BCFE6E40C8AB87A182971A2830F97E06" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_7E7243AE8EF5CBD0F2331A2830F87416" xlink:to="loc_dei_EntityDomain_BCFE6E40C8AB87A182971A2830F97E06" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_7312254D752A3F8C55EF1A2830F9E9FF" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4B6C0FEDE66FD501D12E1A2830F85C65" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_7312254D752A3F8C55EF1A2830F9E9FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_7312254D752A3F8C55EF1A2830F9E9FF" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_7312254D752A3F8C55EF1A2830F9E9FF" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_6FC61B994CA462F08CCA1A2830F9099D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_6FC61B994CA462F08CCA1A2830F9099D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_4AEA4B89F0EFF429AEE11A2830F93A81" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_4AEA4B89F0EFF429AEE11A2830F93A81" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_6E2077F6599BA8AAEE121A2830F9677B" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_6E2077F6599BA8AAEE121A2830F9677B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_A8B8AAABDD5FB189A52D1A2830F9713B" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_A8B8AAABDD5FB189A52D1A2830F9713B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_7ED3234FF3346A4555101A2830F91849" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_MunicipalBondsMember_7ED3234FF3346A4555101A2830F91849" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/CommitmentsAndContingencies" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfOperations" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquity" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_491D357AB3C36600824D1E4C4B885A5B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_FEB6CFACE468EEA8DBED1E4C4B87E606" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_491D357AB3C36600824D1E4C4B885A5B" xlink:to="loc_us-gaap_StatementTable_FEB6CFACE468EEA8DBED1E4C4B87E606" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_60564673E331B65DF3AB1E4C4B872796" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_FEB6CFACE468EEA8DBED1E4C4B87E606" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_60564673E331B65DF3AB1E4C4B872796" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_60564673E331B65DF3AB1E4C4B872796" xlink:to="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_60564673E331B65DF3AB1E4C4B872796" xlink:to="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_ADE3537EECA7553A2F3D1E4C4B8799A7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:to="loc_us-gaap_CommonStockMember_ADE3537EECA7553A2F3D1E4C4B8799A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:to="loc_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_D8F03422E9FC6CDC930A1E4C4B87590A" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_D8F03422E9FC6CDC930A1E4C4B87590A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_491D357AB3C36600824D1E4C4B885A5B" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_1570AAF08217A8F29CD61E4C4B88294C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockholdersEquity_1570AAF08217A8F29CD61E4C4B88294C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_74F9E78E47F2DD2E30391E4C4B8831DB" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_CommonStockSharesIssued_74F9E78E47F2DD2E30391E4C4B8831DB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C7D85C4FABD99DD4DB471E4C4B88DCF4" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C7D85C4FABD99DD4DB471E4C4B88DCF4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_9C9DA41B5C78CFEAD40F1E4C4B8851A9" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_9C9DA41B5C78CFEAD40F1E4C4B8851A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_0911C628809DDC4D47E01E4C4B889011" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_0911C628809DDC4D47E01E4C4B889011" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting" xlink:label="loc_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsCommonStockCash" xlink:label="loc_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_F064E93B333F124B573E1E4C4B8852C9" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_NetIncomeLoss_F064E93B333F124B573E1E4C4B8852C9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_230FB332D73AE67AD5061E4C4B8853B7" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_230FB332D73AE67AD5061E4C4B8853B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_DDF0379ED212917DE7A61E4C4B888205" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_DDF0379ED212917DE7A61E4C4B888205" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_83C91DD80BDACDE9DEC81E4C4B884A61" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_83C91DD80BDACDE9DEC81E4C4B884A61" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_0240DF0E30457920A8711E4C4B881C40" xlink:type="locator" />
    <link:definitionArc order="15" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_0240DF0E30457920A8711E4C4B881C40" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_9CC67F0484D6BC47F5221E4C4B886501" xlink:type="locator" />
    <link:definitionArc order="16" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_9CC67F0484D6BC47F5221E4C4B886501" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/DerivativeInstruments" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/DerivativeInstrumentsBalanceSheetLocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:to="loc_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:to="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:to="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:to="loc_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:to="loc_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:to="loc_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:to="loc_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/DerivativeInstrumentsChangesInAociDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_38A5354582E1CF05E6E81A282ECDB65E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5D2C3A6152C9F6902EF01A282ECDCFBF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_38A5354582E1CF05E6E81A282ECDB65E" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5D2C3A6152C9F6902EF01A282ECDCFBF" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_D91F36EAD6102169C7D81A282ECD1856" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5D2C3A6152C9F6902EF01A282ECDCFBF" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_D91F36EAD6102169C7D81A282ECD1856" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_9FFF32BC97FAF07A13121A282ECD5C08_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_D91F36EAD6102169C7D81A282ECD1856" xlink:to="loc_us-gaap_EquityComponentDomain_9FFF32BC97FAF07A13121A282ECD5C08_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_9FFF32BC97FAF07A13121A282ECD5C08" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_D91F36EAD6102169C7D81A282ECD1856" xlink:to="loc_us-gaap_EquityComponentDomain_9FFF32BC97FAF07A13121A282ECD5C08" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" xlink:label="loc_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_9FFF32BC97FAF07A13121A282ECD5C08" xlink:to="loc_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_38A5354582E1CF05E6E81A282ECDB65E" xlink:to="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_B74AAB6EE958EAB956691A282ECD54DE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_B74AAB6EE958EAB956691A282ECD54DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="loc_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:to="loc_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_945599ACD35CB395122C1A282F3335BA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:to="loc_us-gaap_DerivativeTable_945599ACD35CB395122C1A282F3335BA" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_35426F1D1C6F034E6F831A282F337639" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_945599ACD35CB395122C1A282F3335BA" xlink:to="loc_us-gaap_HedgingDesignationAxis_35426F1D1C6F034E6F831A282F337639" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_35426F1D1C6F034E6F831A282F337639" xlink:to="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_35426F1D1C6F034E6F831A282F337639" xlink:to="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_E20D55CFBD407CFC057A1A282F3367EF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413" xlink:to="loc_us-gaap_NondesignatedMember_E20D55CFBD407CFC057A1A282F3367EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_8024DF841871AA11FA6E1A282F33917B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_8024DF841871AA11FA6E1A282F33917B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1" xlink:label="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:to="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths" xlink:label="loc_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:to="loc_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_DADE0B6516EAA33A61AB1A282F8AAF07" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_DADE0B6516EAA33A61AB1A282F8AAF07" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_DADE0B6516EAA33A61AB1A282F8AAF07" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_DADE0B6516EAA33A61AB1A282F8AAF07" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_480A4AB347EC1877B2231A282F8B12BC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_CashFlowHedgingMember_480A4AB347EC1877B2231A282F8B12BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueGoodsNetMember" xlink:label="loc_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_24CD5954A9D9DC83FF8F1A282F8B1327" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:to="loc_us-gaap_HedgingDesignationAxis_24CD5954A9D9DC83FF8F1A282F8B1327" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_24CD5954A9D9DC83FF8F1A282F8B1327" xlink:to="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_24CD5954A9D9DC83FF8F1A282F8B1327" xlink:to="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_98E552D6F1725FFE05811A282F8BA2C7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_98E552D6F1725FFE05811A282F8BA2C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_6BB5325F09A9B70F40101A282F8B4AA7" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024" xlink:to="loc_us-gaap_NondesignatedMember_6BB5325F09A9B70F40101A282F8B4AA7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_20B2F49E83887CA209FB1A282F8B5BE7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_20B2F49E83887CA209FB1A282F8B5BE7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNetAbstract" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:to="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_A8FFF3BDB13C712860DF1E4C494AB822" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:to="loc_us-gaap_HedgingDesignationAxis_A8FFF3BDB13C712860DF1E4C494AB822" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_A8FFF3BDB13C712860DF1E4C494AB822" xlink:to="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_A8FFF3BDB13C712860DF1E4C494AB822" xlink:to="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_6ECE76750B98A54C8C9C1E4C494ABEFC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_6ECE76750B98A54C8C9C1E4C494ABEFC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_F9FD71F3E87247C58A661E4C494A0631" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844" xlink:to="loc_us-gaap_NondesignatedMember_F9FD71F3E87247C58A661E4C494A0631" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrencyAxis" xlink:label="loc_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:to="loc_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:to="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:to="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_USD" xlink:label="loc_currency_USD_C8436FA203FB74978E931E4C494A28C6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_USD_C8436FA203FB74978E931E4C494A28C6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_JPY" xlink:label="loc_currency_JPY_D812F3D6560929E1B2C61E4C494A0223" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_JPY_D812F3D6560929E1B2C61E4C494A0223" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_KRW" xlink:label="loc_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_HUF" xlink:label="loc_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_SGD" xlink:label="loc_currency_SGD_78812ED043E28926D8C11E4C4950D68B" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_SGD_78812ED043E28926D8C11E4C4950D68B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_CAD" xlink:label="loc_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_GBP" xlink:label="loc_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_TWD" xlink:label="loc_currency_TWD_C06B2009FB51854B57AD1E4C49502165" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_TWD_C06B2009FB51854B57AD1E4C49502165" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/DiscontinuedOperations" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusAxis" xlink:label="loc_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusDomain" xlink:label="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:to="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusDomain" xlink:label="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:to="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SettledLitigationMember" xlink:label="loc_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:to="loc_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseAxis" xlink:label="loc_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseTypeDomain" xlink:label="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:to="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseTypeDomain" xlink:label="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:to="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AMETEKMatterMember" xlink:label="loc_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:to="loc_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:to="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:to="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GuaranteeObligationsMember" xlink:label="loc_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:to="loc_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOperatingActivitiesSegmentAxis" xlink:label="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentOperatingActivitiesDomain" xlink:label="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:to="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentOperatingActivitiesDomain" xlink:label="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:to="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B71D456F7A94C466A9801E4C478163E2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B71D456F7A94C466A9801E4C478163E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_B083D06FE0583B4E771B1E4C47818986" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_B083D06FE0583B4E771B1E4C47818986" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_B4FB18144F2C1296955A1E4C47815500_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_B083D06FE0583B4E771B1E4C47818986" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_B4FB18144F2C1296955A1E4C47815500_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_B4FB18144F2C1296955A1E4C47815500" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_B083D06FE0583B4E771B1E4C47818986" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_B4FB18144F2C1296955A1E4C47815500" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_365DF34B5920FFD0E3FD1E4C478218AD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_B4FB18144F2C1296955A1E4C47815500" xlink:to="loc_cgnx_SisdMember_365DF34B5920FFD0E3FD1E4C478218AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_07E2A2071B95FDF9043B1E4C4782B0D6" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_07E2A2071B95FDF9043B1E4C4782B0D6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_B0E5E25A22583060556F1E4C47828DB5_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_07E2A2071B95FDF9043B1E4C4782B0D6" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_B0E5E25A22583060556F1E4C47828DB5_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_B0E5E25A22583060556F1E4C47828DB5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_07E2A2071B95FDF9043B1E4C4782B0D6" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_B0E5E25A22583060556F1E4C47828DB5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_9A5C3E53B2C58B94616B1E4C47827314" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_B0E5E25A22583060556F1E4C47828DB5" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_9A5C3E53B2C58B94616B1E4C47827314" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_D9637CDA514520B081881E4C4782B122" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_D9637CDA514520B081881E4C4782B122" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationSettlementAmount" xlink:label="loc_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LegalFees" xlink:label="loc_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_DBA18741866813E1FDB31E4C47835243" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_DBA18741866813E1FDB31E4C47835243" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_8C6740258F74F1F5A8501E4C4783BDC0" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_8C6740258F74F1F5A8501E4C4783BDC0" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:to="loc_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Incomefromdiscontinuedoperationstotalpretax" xlink:label="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Stockbasedcompensationdiscontinuedoperation" xlink:label="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DepreciationDiscontinuedOperations" xlink:label="loc_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AmortizationDiscontinuedOperations" xlink:label="loc_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CapitalExpenditureDiscontinuedOperations" xlink:label="loc_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/DocumentAndEntityInformation" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityInformationLineItems" xlink:label="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentInformationTable" xlink:label="loc_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_E160CF44897157F6361C1A283019AE5F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:to="loc_dei_LegalEntityAxis_E160CF44897157F6361C1A283019AE5F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_7D25BD1B3F63B2F969171A2830199743_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_dei_LegalEntityAxis_E160CF44897157F6361C1A283019AE5F" xlink:to="loc_dei_EntityDomain_7D25BD1B3F63B2F969171A2830199743_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_7D25BD1B3F63B2F969171A2830199743" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_dei_LegalEntityAxis_E160CF44897157F6361C1A283019AE5F" xlink:to="loc_dei_EntityDomain_7D25BD1B3F63B2F969171A2830199743" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_0362FF4E06E80783BCB11A2830197270" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_DocumentType_0362FF4E06E80783BCB11A2830197270" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_TradingSymbol" xlink:label="loc_dei_TradingSymbol_2FB165532C11708201011A2830199A03" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_TradingSymbol_2FB165532C11708201011A2830199A03" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityPublicFloat" xlink:label="loc_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271" xlink:type="locator" />
    <link:definitionArc order="15" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/EmployeeSavingsPlan" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/EmployeeSavingsPlanAdditionalInformationDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/FairValueMeasurements" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MoneyMarketInstrumentsFairValueDisclosure" xlink:label="loc_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CorporateBondsFairValueDisclosure" xlink:label="loc_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_TreasuryBillsFairValueDisclosure" xlink:label="loc_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AssetBackedSecuritiesFairValueDisclosure" xlink:label="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Euroliquidityfunds" xlink:label="loc_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SovereignBondsFairValueDisclosure" xlink:label="loc_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsFairValueDisclosure" xlink:label="loc_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MunicipalBondsFairValueDisclosure" xlink:label="loc_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet" xlink:label="loc_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="loc_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent" xlink:label="loc_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="loc_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_8B3571A9334A705BC2391B98AFEF5AEB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_8B3571A9334A705BC2391B98AFEF5AEB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_8B3571A9334A705BC2391B98AFEF5AEB" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_8B3571A9334A705BC2391B98AFEF5AEB" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_B8C3A09D88329116A6BC1B98AFEF55E8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:to="loc_cgnx_ManateeWorksInc.Member_B8C3A09D88329116A6BC1B98AFEF55E8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EnShapeGmbHMember" xlink:label="loc_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:to="loc_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="loc_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_94CB3B218343997FDA4A1A9EE77359EA" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_5AAEAD25CB6B95BBC6FE1A9EE7729263" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_94CB3B218343997FDA4A1A9EE77359EA" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_5AAEAD25CB6B95BBC6FE1A9EE7729263" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_623F1983B347F55A38A01A9EE772E291" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_5AAEAD25CB6B95BBC6FE1A9EE7729263" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_623F1983B347F55A38A01A9EE772E291" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_8F0145C25307B6C160BC1A9EE773A17A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_623F1983B347F55A38A01A9EE772E291" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_8F0145C25307B6C160BC1A9EE773A17A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_8F0145C25307B6C160BC1A9EE773A17A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_623F1983B347F55A38A01A9EE772E291" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_8F0145C25307B6C160BC1A9EE773A17A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsNonrecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_8F0145C25307B6C160BC1A9EE773A17A" xlink:to="loc_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure" xlink:label="loc_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_94CB3B218343997FDA4A1A9EE77359EA" xlink:to="loc_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/FairValueMeasurementsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/Goodwill" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/GoodwillAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems_0E316666CA1BA0854F2F1E4C49F9239B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_127DD62D5D9822FA65261E4C49F95EAE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_0E316666CA1BA0854F2F1E4C49F9239B" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_127DD62D5D9822FA65261E4C49F95EAE" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_127DD62D5D9822FA65261E4C49F95EAE" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:to="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:to="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_2E91CED6C2AF76DEE3B31E4C49F92566" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:to="loc_cgnx_SisdMember_2E91CED6C2AF76DEE3B31E4C49F92566" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MvsdMember" xlink:label="loc_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:to="loc_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_0C8FB59B582F00BAA1081E4C49F9443B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_0E316666CA1BA0854F2F1E4C49F9239B" xlink:to="loc_us-gaap_Goodwill_0C8FB59B582F00BAA1081E4C49F9443B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_FairValueInExcessToCarryingValue" xlink:label="loc_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_0E316666CA1BA0854F2F1E4C49F9239B" xlink:to="loc_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/GoodwillChangesInCarryingValueOfGoodwillDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_F28CCF6B815D9E96495B1E5FB6E5DD69" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_F28CCF6B815D9E96495B1E5FB6E5DD69" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_F28CCF6B815D9E96495B1E5FB6E5DD69" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_F28CCF6B815D9E96495B1E5FB6E5DD69" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_FB34183C2C41835598E21E60177ED3C0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_ManateeWorksInc.Member_FB34183C2C41835598E21E60177ED3C0" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AQSenseS.L.Member" xlink:label="loc_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EnShapeGmbHMember" xlink:label="loc_cgnx_EnShapeGmbHMember_08929C58A57731C712751E60595BC987" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_EnShapeGmbHMember_08929C58A57731C712751E60595BC987" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_43D706C5E47E08BE7D431E6079D2D44F" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_43D706C5E47E08BE7D431E6079D2D44F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_WebscanInc.Member" xlink:label="loc_cgnx_WebscanInc.Member_C33A01B53472A0E2D71E1E609CB6E2FF" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_WebscanInc.Member_C33A01B53472A0E2D71E1E609CB6E2FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillRollForward" xlink:label="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:to="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_2A227F0618D306A8A1551E4C4A015F9E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:to="loc_us-gaap_Goodwill_2A227F0618D306A8A1551E4C4A015F9E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/GoodwillTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/IndemnificationProvisions" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/IndemnificationProvisionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:to="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_0C404EDB7D7EBDA1B3B61E8FE94705FF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_0C404EDB7D7EBDA1B3B61E8FE94705FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_ECBF8AD6981E53030F221E8FE9479F9F_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_0C404EDB7D7EBDA1B3B61E8FE94705FF" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_ECBF8AD6981E53030F221E8FE9479F9F_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_ECBF8AD6981E53030F221E8FE9479F9F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_0C404EDB7D7EBDA1B3B61E8FE94705FF" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_ECBF8AD6981E53030F221E8FE9479F9F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_97E2ED2586BA8736F48D1E8FE9D0E8CA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_ECBF8AD6981E53030F221E8FE9479F9F" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_97E2ED2586BA8736F48D1E8FE9D0E8CA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_724EB769619ABAEDFBAB1E8FE8ED1711" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_724EB769619ABAEDFBAB1E8FE8ED1711" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_939534F2FBD9AF05F3451E8FE8F22FFC_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_724EB769619ABAEDFBAB1E8FE8ED1711" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_939534F2FBD9AF05F3451E8FE8F22FFC_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_939534F2FBD9AF05F3451E8FE8F22FFC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_724EB769619ABAEDFBAB1E8FE8ED1711" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_939534F2FBD9AF05F3451E8FE8F22FFC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_902B976639B2D56622A11E8FE99F066E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_939534F2FBD9AF05F3451E8FE8F22FFC" xlink:to="loc_cgnx_SisdMember_902B976639B2D56622A11E8FE99F066E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseAxis" xlink:label="loc_us-gaap_LitigationCaseAxis_EF4CB02852DB5B1B7F911E8FE84B4338" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_LitigationCaseAxis_EF4CB02852DB5B1B7F911E8FE84B4338" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseTypeDomain" xlink:label="loc_us-gaap_LitigationCaseTypeDomain_F208C834C101DBEDD4E91E8FE84CF4A2_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LitigationCaseAxis_EF4CB02852DB5B1B7F911E8FE84B4338" xlink:to="loc_us-gaap_LitigationCaseTypeDomain_F208C834C101DBEDD4E91E8FE84CF4A2_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseTypeDomain" xlink:label="loc_us-gaap_LitigationCaseTypeDomain_F208C834C101DBEDD4E91E8FE84CF4A2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LitigationCaseAxis_EF4CB02852DB5B1B7F911E8FE84B4338" xlink:to="loc_us-gaap_LitigationCaseTypeDomain_F208C834C101DBEDD4E91E8FE84CF4A2" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AMETEKMatterMember" xlink:label="loc_cgnx_AMETEKMatterMember_67F93A6EDD394C4640461E8FEA31C341" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LitigationCaseTypeDomain_F208C834C101DBEDD4E91E8FE84CF4A2" xlink:to="loc_cgnx_AMETEKMatterMember_67F93A6EDD394C4640461E8FEA31C341" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusAxis" xlink:label="loc_us-gaap_LitigationStatusAxis_2125D71670504016AE611E8FE84C790A" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_LitigationStatusAxis_2125D71670504016AE611E8FE84C790A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusDomain" xlink:label="loc_us-gaap_LitigationStatusDomain_582989828A41E638ECB01E8FE84C0358_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LitigationStatusAxis_2125D71670504016AE611E8FE84C790A" xlink:to="loc_us-gaap_LitigationStatusDomain_582989828A41E638ECB01E8FE84C0358_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusDomain" xlink:label="loc_us-gaap_LitigationStatusDomain_582989828A41E638ECB01E8FE84C0358" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LitigationStatusAxis_2125D71670504016AE611E8FE84C790A" xlink:to="loc_us-gaap_LitigationStatusDomain_582989828A41E638ECB01E8FE84C0358" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SettledLitigationMember" xlink:label="loc_us-gaap_SettledLitigationMember_0D49ACF002C16E24465B1E8FEA646AFD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LitigationStatusDomain_582989828A41E638ECB01E8FE84C0358" xlink:to="loc_us-gaap_SettledLitigationMember_0D49ACF002C16E24465B1E8FEA646AFD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_B35652130FC41A2FA19C1E8FE84CEB64" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_B35652130FC41A2FA19C1E8FE84CEB64" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="loc_us-gaap_LossContingencyNatureDomain_2085261FBA2E0528CE0D1E8FE84CB387_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_B35652130FC41A2FA19C1E8FE84CEB64" xlink:to="loc_us-gaap_LossContingencyNatureDomain_2085261FBA2E0528CE0D1E8FE84CB387_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="loc_us-gaap_LossContingencyNatureDomain_2085261FBA2E0528CE0D1E8FE84CB387" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_B35652130FC41A2FA19C1E8FE84CEB64" xlink:to="loc_us-gaap_LossContingencyNatureDomain_2085261FBA2E0528CE0D1E8FE84CB387" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GuaranteeObligationsMember" xlink:label="loc_us-gaap_GuaranteeObligationsMember_72E08814816762F7FB241E8FE9FCF101" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingencyNatureDomain_2085261FBA2E0528CE0D1E8FE84CB387" xlink:to="loc_us-gaap_GuaranteeObligationsMember_72E08814816762F7FB241E8FE9FCF101" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_C1D79C8383962D3EE7D41E8FE87DFA36" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:to="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_C1D79C8383962D3EE7D41E8FE87DFA36" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_9679DB6391B541AA86E41E8FE89F4B25" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:to="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_9679DB6391B541AA86E41E8FE89F4B25" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationSettlementAmount" xlink:label="loc_us-gaap_LitigationSettlementAmount_B153F38E359B60042CDF1E8FE8CDE699" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:to="loc_us-gaap_LitigationSettlementAmount_B153F38E359B60042CDF1E8FE8CDE699" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/IntangibleAssets" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/IntangibleAssetsAmortizedIntangibleAssetsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_894160EEA217740DDE211A282FFD1E4E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_894160EEA217740DDE211A282FFD1E4E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_894160EEA217740DDE211A282FFD1E4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_894160EEA217740DDE211A282FFD1E4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:to="loc_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/IntangibleAssetsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/Inventories" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/InventoriesInventoriesDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/InventoriesTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/NewPronouncements" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipment" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_79EEA61088EE4CC5E6AF1A28302DFEC0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_79EEA61088EE4CC5E6AF1A28302DFEC0" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_4C156DC37BB293A04A051A28302EC96E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_79EEA61088EE4CC5E6AF1A28302DFEC0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_4C156DC37BB293A04A051A28302EC96E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_4C156DC37BB293A04A051A28302EC96E" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_4C156DC37BB293A04A051A28302EC96E" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LandMember" xlink:label="loc_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaap_BuildingMember_C0C5502DEB7AC349ECFC1A28302E16E6" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_BuildingMember_C0C5502DEB7AC349ECFC1A28302E16E6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingImprovementsMember" xlink:label="loc_us-gaap_BuildingImprovementsMember_9C60FBF568C06F8B52491A28302EBB42" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_BuildingImprovementsMember_9C60FBF568C06F8B52491A28302EBB42" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_HardwareAndSoftwareMember" xlink:label="loc_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaap_EquipmentMember_46A1DFCA1250FA7E7C2D1A28302E4857" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_EquipmentMember_46A1DFCA1250FA7E7C2D1A28302E4857" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_AC5F40413B638AE81D931A28302E1C19" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_AC5F40413B638AE81D931A28302E1C19" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_346099C53900E63065371A28302E15F5" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_346099C53900E63065371A28302E15F5" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipmentTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccounts" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccountsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:to="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UncollectibleReceivablesMember" xlink:label="loc_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:to="loc_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryValuationReserveMember" xlink:label="loc_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:to="loc_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_F047A62947F1196C534C1A282FA1D6FC" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:to="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_F047A62947F1196C534C1A282FA1D6FC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesAdjustments" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformation" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformationAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:to="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_B0C32F5F9C4DBAE4748F3F08E457FF1C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_B0C32F5F9C4DBAE4748F3F08E457FF1C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaap_SegmentDomain_AA0D4B3AAEAEC072A4513F08E45741D7_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_B0C32F5F9C4DBAE4748F3F08E457FF1C" xlink:to="loc_us-gaap_SegmentDomain_AA0D4B3AAEAEC072A4513F08E45741D7_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaap_SegmentDomain_AA0D4B3AAEAEC072A4513F08E45741D7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_B0C32F5F9C4DBAE4748F3F08E457FF1C" xlink:to="loc_us-gaap_SegmentDomain_AA0D4B3AAEAEC072A4513F08E45741D7" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_PreviousCompanySegmentsMember" xlink:label="loc_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_AA0D4B3AAEAEC072A4513F08E45741D7" xlink:to="loc_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_4096FFB94944CC1C227F3F08E457C257" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="loc_us-gaap_StatementGeographicalAxis_4096FFB94944CC1C227F3F08E457C257" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_A10C0D3C05D0EC62EA483F08E458C706_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementGeographicalAxis_4096FFB94944CC1C227F3F08E457C257" xlink:to="loc_us-gaap_SegmentGeographicalDomain_A10C0D3C05D0EC62EA483F08E458C706_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_A10C0D3C05D0EC62EA483F08E458C706" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementGeographicalAxis_4096FFB94944CC1C227F3F08E457C257" xlink:to="loc_us-gaap_SegmentGeographicalDomain_A10C0D3C05D0EC62EA483F08E458C706" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EuropeMember" xlink:label="loc_us-gaap_EuropeMember_44A29E39F0E686E002513F08E458555C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_A10C0D3C05D0EC62EA483F08E458C706" xlink:to="loc_us-gaap_EuropeMember_44A29E39F0E686E002513F08E458555C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:to="loc_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="loc_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:to="loc_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:to="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:to="loc_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:to="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:to="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/country/2016/country-2016-01-31.xsd#country_US" xlink:label="loc_country_US_E9C4B935133ED06F7DBA1A2830D33733" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:to="loc_country_US_E9C4B935133ED06F7DBA1A2830D33733" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EuropeMember" xlink:label="loc_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:to="loc_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_GreaterChinaMember" xlink:label="loc_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:to="loc_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OtherGeographicAreaMember" xlink:label="loc_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:to="loc_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueGoodsNet" xlink:label="loc_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:to="loc_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:to="loc_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformationTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ShareholdersEquity" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockLineItems" xlink:label="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_30D9EF5683FBEB2C7D231E4C48F459B1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_30D9EF5683FBEB2C7D231E4C48F459B1" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_D3E26CBAB3FF1ACD42F41E4C48F48DD4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_30D9EF5683FBEB2C7D231E4C48F459B1" xlink:to="loc_us-gaap_StatementClassOfStockAxis_D3E26CBAB3FF1ACD42F41E4C48F48DD4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_DAC0BE3CE26A8E99C2401E4C48F48FB9_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_D3E26CBAB3FF1ACD42F41E4C48F48DD4" xlink:to="loc_us-gaap_ClassOfStockDomain_DAC0BE3CE26A8E99C2401E4C48F48FB9_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_DAC0BE3CE26A8E99C2401E4C48F48FB9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_D3E26CBAB3FF1ACD42F41E4C48F48DD4" xlink:to="loc_us-gaap_ClassOfStockDomain_DAC0BE3CE26A8E99C2401E4C48F48FB9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_D6B24803079226325A5F1E4C48FA86FA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_DAC0BE3CE26A8E99C2401E4C48F48FB9" xlink:to="loc_us-gaap_CommonStockMember_D6B24803079226325A5F1E4C48FA86FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_30D9EF5683FBEB2C7D231E4C48F459B1" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RepurchaseProgram2014Member" xlink:label="loc_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:to="loc_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RepurchaseProgramTwentyFifteenMember" xlink:label="loc_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:to="loc_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RepurchaseProgramNovember2015Member" xlink:label="loc_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:to="loc_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_VoteEntitledForEachCommonShareOutstanding" xlink:label="loc_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution" xlink:label="loc_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson" xlink:label="loc_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Totalsharesrepurchased" xlink:label="loc_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Repurchasedsharestotalcost" xlink:label="loc_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="loc_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/StockBasedCompensation" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_D9A2E27EA036503CEE671E4C48CE197D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_D9A2E27EA036503CEE671E4C48CE197D" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_78F75F265CFB923EC3021E4C48CE7217" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_D9A2E27EA036503CEE671E4C48CE197D" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_78F75F265CFB923EC3021E4C48CE7217" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_590F5DAD89B82F4018481E4C48CECCBE_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_78F75F265CFB923EC3021E4C48CE7217" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_590F5DAD89B82F4018481E4C48CECCBE_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_590F5DAD89B82F4018481E4C48CECCBE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_78F75F265CFB923EC3021E4C48CE7217" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_590F5DAD89B82F4018481E4C48CECCBE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_D79CF67792B0D5641BA31E4C48CF6193" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_590F5DAD89B82F4018481E4C48CECCBE" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_D79CF67792B0D5641BA31E4C48CF6193" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_6D18DCD389F4D9AC54DD1E4C48CF0A67" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_D9A2E27EA036503CEE671E4C48CE197D" xlink:to="loc_us-gaap_AwardTypeAxis_6D18DCD389F4D9AC54DD1E4C48CF0A67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1AA53D000F456A09E7961E4C48CFDDD7_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_6D18DCD389F4D9AC54DD1E4C48CF0A67" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1AA53D000F456A09E7961E4C48CFDDD7_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1AA53D000F456A09E7961E4C48CFDDD7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_6D18DCD389F4D9AC54DD1E4C48CF0A67" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1AA53D000F456A09E7961E4C48CFDDD7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_B249C9B0996A9557AEFF1E4C48CF788F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1AA53D000F456A09E7961E4C48CFDDD7" xlink:to="loc_us-gaap_EmployeeStockOptionMember_B249C9B0996A9557AEFF1E4C48CF788F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest" xlink:label="loc_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest" xlink:label="loc_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_5DB3A6C893618CD7CB551E4C48D1861B" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_5DB3A6C893618CD7CB551E4C48D1861B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_35169AEC219A3D29DF581E4C48D1F1DE" xlink:type="locator" />
    <link:definitionArc order="15" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_35169AEC219A3D29DF581E4C48D1F1DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_CB7024CA0D684B0680A71E4C48D11CCF" xlink:type="locator" />
    <link:definitionArc order="16" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_CB7024CA0D684B0680A71E4C48D11CCF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_498FCA28149DCA2E2F281E4C48D1EEDC" xlink:type="locator" />
    <link:definitionArc order="17" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_498FCA28149DCA2E2F281E4C48D1EEDC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584" xlink:type="locator" />
    <link:definitionArc order="18" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ProductCostOfRevenueMember" xlink:label="loc_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:to="loc_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_76BAA68F4CB33FF90E7F1A2830E5FED8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_76BAA68F4CB33FF90E7F1A2830E5FED8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_DB102973A30764501F281A2830E6AE8E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_DB102973A30764501F281A2830E6AE8E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Stockbasedcompensationdiscontinuedoperation" xlink:label="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_D8836CD6F6B1CBB0D1151A2830E694D1" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_D8836CD6F6B1CBB0D1151A2830E694D1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:to="loc_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:to="loc_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_431CA33EDEEF23D1649E1A2830DB981C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:to="loc_us-gaap_AwardTypeAxis_431CA33EDEEF23D1649E1A2830DB981C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5CDCA863F0A720DDF2BD1A2830DB663A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_431CA33EDEEF23D1649E1A2830DB981C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5CDCA863F0A720DDF2BD1A2830DB663A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5CDCA863F0A720DDF2BD1A2830DB663A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_431CA33EDEEF23D1649E1A2830DB981C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5CDCA863F0A720DDF2BD1A2830DB663A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5CDCA863F0A720DDF2BD1A2830DB663A" xlink:to="loc_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/StockBasedCompensationTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/SubsequentEventsSubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:to="loc_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:to="loc_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:to="loc_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsPayableDateDeclaredDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:to="loc_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:to="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/SubsequentEventsSubsequentEventsNotes" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingImprovementsMember" xlink:label="loc_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ComputerHardwareAndSoftwareMember" xlink:label="loc_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeAxis" xlink:label="loc_us-gaap_RangeAxis_34F995B9B9DB8FBFD2D11A283056DEED" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:to="loc_us-gaap_RangeAxis_34F995B9B9DB8FBFD2D11A283056DEED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RangeAxis_34F995B9B9DB8FBFD2D11A283056DEED" xlink:to="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RangeAxis_34F995B9B9DB8FBFD2D11A283056DEED" xlink:to="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MinimumMember" xlink:label="loc_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915" xlink:to="loc_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumMember" xlink:label="loc_us-gaap_MaximumMember_8123ABE2000B55B2204B1A283056B434" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915" xlink:to="loc_us-gaap_MaximumMember_8123ABE2000B55B2204B1A283056B434" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:to="loc_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_84E9FBBF940FDDAA088B1A282FB211ED" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:to="loc_us-gaap_HedgingDesignationAxis_84E9FBBF940FDDAA088B1A282FB211ED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_3D72E4A62B7746BB55BA1A282FB2982A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_84E9FBBF940FDDAA088B1A282FB211ED" xlink:to="loc_us-gaap_HedgingDesignationDomain_3D72E4A62B7746BB55BA1A282FB2982A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_3D72E4A62B7746BB55BA1A282FB2982A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_84E9FBBF940FDDAA088B1A282FB211ED" xlink:to="loc_us-gaap_HedgingDesignationDomain_3D72E4A62B7746BB55BA1A282FB2982A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_F2183B07DB444E90200A1A282FB3B782" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_3D72E4A62B7746BB55BA1A282FB2982A" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_F2183B07DB444E90200A1A282FB3B782" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:to="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:to="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax" xlink:label="loc_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_9523C4A2C82A8032CE9D1A2830CEA685" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_425248600F3EF05F056D1A2830CDEE4D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_9523C4A2C82A8032CE9D1A2830CEA685" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_425248600F3EF05F056D1A2830CDEE4D" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DFBB1E9675B912661BD61A2830CE9C1C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_425248600F3EF05F056D1A2830CDEE4D" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DFBB1E9675B912661BD61A2830CE9C1C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DFBB1E9675B912661BD61A2830CE9C1C" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DFBB1E9675B912661BD61A2830CE9C1C" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_B86D0586E4A27667C5AE1A2830CE8667" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:to="loc_us-gaap_DistributionRightsMember_B86D0586E4A27667C5AE1A2830CE8667" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_F9FC066D7F6ACA3C67801A2830CEE235" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_F9FC066D7F6ACA3C67801A2830CEE235" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember" xlink:label="loc_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:to="loc_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeAxis" xlink:label="loc_us-gaap_RangeAxis_35DB08587233EC95A0691A2830CEF3C1" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_425248600F3EF05F056D1A2830CDEE4D" xlink:to="loc_us-gaap_RangeAxis_35DB08587233EC95A0691A2830CEF3C1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RangeAxis_35DB08587233EC95A0691A2830CEF3C1" xlink:to="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RangeAxis_35DB08587233EC95A0691A2830CEF3C1" xlink:to="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MinimumMember" xlink:label="loc_us-gaap_MinimumMember_D8B2AEC3C57B676551441A2830CEFE7E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72" xlink:to="loc_us-gaap_MinimumMember_D8B2AEC3C57B676551441A2830CEFE7E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumMember" xlink:label="loc_us-gaap_MaximumMember_B52FFA4CAACA067FBEE71A2830CEB310" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72" xlink:to="loc_us-gaap_MaximumMember_B52FFA4CAACA067FBEE71A2830CEB310" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_9523C4A2C82A8032CE9D1A2830CEA685" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductLiabilityContingencyLineItems" xlink:label="loc_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductLiabilityContingencyTable" xlink:label="loc_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:to="loc_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeAxis" xlink:label="loc_us-gaap_RangeAxis_D542EDB52D89FE473A8E1A282F29AA54" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:to="loc_us-gaap_RangeAxis_D542EDB52D89FE473A8E1A282F29AA54" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_RangeAxis_D542EDB52D89FE473A8E1A282F29AA54" xlink:to="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_RangeAxis_D542EDB52D89FE473A8E1A282F29AA54" xlink:to="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MinimumMember" xlink:label="loc_us-gaap_MinimumMember_D61210333841D69601191A282F29BB80" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA" xlink:to="loc_us-gaap_MinimumMember_D61210333841D69601191A282F29BB80" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumMember" xlink:label="loc_us-gaap_MaximumMember_4557CBA6C323A1DD9D5D1A282F2A75FD" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA" xlink:to="loc_us-gaap_MaximumMember_4557CBA6C323A1DD9D5D1A282F2A75FD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ProductWarrantyPeriod" xlink:label="loc_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:to="loc_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/Taxes" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/TaxesAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardLineItems" xlink:label="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardTable" xlink:label="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:to="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:to="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember" xlink:label="loc_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:to="loc_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingStandardsUpdate201517Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:to="loc_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_A88ED37546D6F572ECB53F08E4D2B9D8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_StatementGeographicalAxis_A88ED37546D6F572ECB53F08E4D2B9D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_25D7EAD125355675AB353F08E4D2B6EE_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementGeographicalAxis_A88ED37546D6F572ECB53F08E4D2B9D8" xlink:to="loc_us-gaap_SegmentGeographicalDomain_25D7EAD125355675AB353F08E4D2B6EE_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_25D7EAD125355675AB353F08E4D2B6EE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementGeographicalAxis_A88ED37546D6F572ECB53F08E4D2B9D8" xlink:to="loc_us-gaap_SegmentGeographicalDomain_25D7EAD125355675AB353F08E4D2B6EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NonUsMember" xlink:label="loc_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentGeographicalDomain_25D7EAD125355675AB353F08E4D2B6EE" xlink:to="loc_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:to="loc_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_A7BDE12FAD615F2DD44F3F08E4D3AEEB" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_A7BDE12FAD615F2DD44F3F08E4D3AEEB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_742BEE2618C3A814EC473F08E4D347BC_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_A7BDE12FAD615F2DD44F3F08E4D3AEEB" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_742BEE2618C3A814EC473F08E4D347BC_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_742BEE2618C3A814EC473F08E4D347BC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_A7BDE12FAD615F2DD44F3F08E4D3AEEB" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_742BEE2618C3A814EC473F08E4D347BC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_FCF8BC1EFBE9C1BD2C4F3F08E4D39CE6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_742BEE2618C3A814EC473F08E4D347BC" xlink:to="loc_cgnx_SisdMember_FCF8BC1EFBE9C1BD2C4F3F08E4D39CE6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_8591A775006D95808CE43F08E4D379E1" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_8591A775006D95808CE43F08E4D379E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_AB5CD4210BB1F84B91E03F08E4D31583_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_8591A775006D95808CE43F08E4D379E1" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_AB5CD4210BB1F84B91E03F08E4D31583_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_AB5CD4210BB1F84B91E03F08E4D31583" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_8591A775006D95808CE43F08E4D379E1" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_AB5CD4210BB1F84B91E03F08E4D31583" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_4177D1AF7AE76D2A8E853F08E4D3724C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_AB5CD4210BB1F84B91E03F08E4D31583" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_4177D1AF7AE76D2A8E853F08E4D3724C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="loc_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:to="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:to="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchMember" xlink:label="loc_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:to="loc_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_StateResearchAndExperimentationMember" xlink:label="loc_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:to="loc_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="loc_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:label="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGrossNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_555C53AFAF8FEE58014E3F08E4D463AD" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_555C53AFAF8FEE58014E3F08E4D463AD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:type="locator" />
    <link:definitionArc order="15" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2" xlink:type="locator" />
    <link:definitionArc order="16" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:type="locator" />
    <link:definitionArc order="17" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:type="locator" />
    <link:definitionArc order="18" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsNetCurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103" xlink:type="locator" />
    <link:definitionArc order="19" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGrossCurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGrossCurrent_7D2ECFB4DBFF285EF3723F08E4D4B9FB" xlink:type="locator" />
    <link:definitionArc order="20" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGrossCurrent_7D2ECFB4DBFF285EF3723F08E4D4B9FB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_F017A685DE955CE7DBE23F08E4D408E0" xlink:type="locator" />
    <link:definitionArc order="21" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_F017A685DE955CE7DBE23F08E4D408E0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_A3D868C228F2C0ECF57C3F08E4D49FF6" xlink:type="locator" />
    <link:definitionArc order="22" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_A3D868C228F2C0ECF57C3F08E4D49FF6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73" xlink:type="locator" />
    <link:definitionArc order="23" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_281807FF673629D82E493F08E4D598B7" xlink:type="locator" />
    <link:definitionArc order="24" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_281807FF673629D82E493F08E4D598B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_98C6A7B3BA9D1985CD663F08E4D543CA" xlink:type="locator" />
    <link:definitionArc order="25" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_98C6A7B3BA9D1985CD663F08E4D543CA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67" xlink:type="locator" />
    <link:definitionArc order="26" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OpenTaxYearStateAuthorities" xlink:label="loc_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:type="locator" />
    <link:definitionArc order="27" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OpentaxyearUnitedStatesInternalRevenueService" xlink:label="loc_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:type="locator" />
    <link:definitionArc order="28" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Opentaxyearvarioustaxingauthorities" xlink:label="loc_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:type="locator" />
    <link:definitionArc order="29" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement" xlink:label="loc_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:type="locator" />
    <link:definitionArc order="30" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_TaxyearsforAPAagreement" xlink:label="loc_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:type="locator" />
    <link:definitionArc order="31" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Stateresearchandexperimentationtaxcarryforwards" xlink:label="loc_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:type="locator" />
    <link:definitionArc order="32" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/TaxesConstituentsOfDeferredTaxAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardLineItems" xlink:label="loc_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardTable" xlink:label="loc_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:to="loc_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowanceByDeferredTaxAssetAxis" xlink:label="loc_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:to="loc_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetDomain" xlink:label="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:to="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetDomain" xlink:label="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:to="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:to="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/TaxesConstituentsOfProvisionForIncomeTaxesDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/TaxesTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/WeightedAverageShares" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/WeightedAverageSharesAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockLineItems" xlink:label="loc_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:to="loc_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:to="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:to="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:to="loc_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://cognex.com/role/WeightedAverageSharesTables" xlink:type="extended" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>12
<FILENAME>cgnx-20161231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple" />
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_164F4223B1EA46F955A21A2831044C9B_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_164F4223B1EA46F955A21A2831044C9B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_164F4223B1EA46F955A21A2831044C9B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_164F4223B1EA46F955A21A2831044C9B" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_164F4223B1EA46F955A21A2831044C9B" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9_terseLabel_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:label id="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9_label_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:to="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:type="arc" />
    <link:label id="lab_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:to="lab_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:type="arc" />
    <link:label id="lab_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:to="lab_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:type="arc" />
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3_terseLabel_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3_label_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3" xlink:to="lab_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3" xlink:type="arc" />
    <link:label id="lab_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F_terseLabel_en-US" xlink:label="lab_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Not Designated as Hedging Instrument [Member]</link:label>
    <link:label id="lab_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F_label_en-US" xlink:label="lab_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Not Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F" xlink:to="lab_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F" xlink:type="arc" />
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:to="lab_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:type="arc" />
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:to="lab_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:type="arc" />
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Prepaid Expenses and Other Current Assets [Member]</link:label>
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4_label_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid Expenses and Other Current Assets [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4" xlink:to="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4" xlink:type="arc" />
    <link:label id="lab_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962_terseLabel_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued Expenses [Member]</link:label>
    <link:label id="lab_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962_label_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Expenses [Member]</link:label>
    <link:label id="lab_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962_documentation_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Accrued expenses.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:to="lab_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5_label_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:to="lab_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net amount of assets presented</link:label>
    <link:label id="lab_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350_label_en-US" xlink:label="lab_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350" xlink:to="lab_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net amount of liabilities presented</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF" xlink:to="lab_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_9774C3996D3448B863AF1A283036D1D7_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract_9774C3996D3448B863AF1A283036D1D7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_9774C3996D3448B863AF1A283036D1D7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract_9774C3996D3448B863AF1A283036D1D7" xlink:to="lab_us-gaap_SubsequentEventsAbstract_9774C3996D3448B863AF1A283036D1D7" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:to="lab_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:to="lab_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:to="lab_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D" xlink:to="lab_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A_label_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:to="lab_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4_terseLabel_en-US" xlink:label="lab_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends Payable, Amount Per Share</link:label>
    <link:label id="lab_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4_label_en-US" xlink:label="lab_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends Payable, Amount Per Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4" xlink:to="lab_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F_terseLabel_en-US" xlink:label="lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends Payable, Date Declared</link:label>
    <link:label id="lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F_label_en-US" xlink:label="lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends Payable, Date Declared</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsPayableDateDeclaredDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F" xlink:to="lab_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A_terseLabel_en-US" xlink:label="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends Payable, Date of Record</link:label>
    <link:label id="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A_label_en-US" xlink:label="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends Payable, Date of Record</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A" xlink:to="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A" xlink:type="arc" />
    <link:label id="lab_us-gaap_SegmentReportingAbstract_B9E50C3720B816F4963E1A2830D3504C_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract_B9E50C3720B816F4963E1A2830D3504C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_B9E50C3720B816F4963E1A2830D3504C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract_B9E50C3720B816F4963E1A2830D3504C" xlink:to="lab_us-gaap_SegmentReportingAbstract_B9E50C3720B816F4963E1A2830D3504C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:to="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE_terseLabel_en-US" xlink:label="lab_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE_label_en-US" xlink:label="lab_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:to="lab_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:type="arc" />
    <link:label id="lab_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356_label_en-US" xlink:label="lab_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:to="lab_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:type="arc" />
    <link:label id="lab_country_US_E9C4B935133ED06F7DBA1A2830D33733_terseLabel_en-US" xlink:label="lab_country_US_E9C4B935133ED06F7DBA1A2830D33733" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">United States [Member]</link:label>
    <link:label id="lab_country_US_E9C4B935133ED06F7DBA1A2830D33733_label_en-US" xlink:label="lab_country_US_E9C4B935133ED06F7DBA1A2830D33733" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">UNITED STATES</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/country/2016/country-2016-01-31.xsd#country_US" xlink:label="loc_country_US_E9C4B935133ED06F7DBA1A2830D33733" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_US_E9C4B935133ED06F7DBA1A2830D33733" xlink:to="lab_country_US_E9C4B935133ED06F7DBA1A2830D33733" xlink:type="arc" />
    <link:label id="lab_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB_terseLabel_en-US" xlink:label="lab_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Europe [Member]</link:label>
    <link:label id="lab_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB_label_en-US" xlink:label="lab_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Europe [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EuropeMember" xlink:label="loc_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB" xlink:to="lab_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB" xlink:type="arc" />
    <link:label id="lab_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54_terseLabel_en-US" xlink:label="lab_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Greater China [Member]</link:label>
    <link:label id="lab_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54_label_en-US" xlink:label="lab_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Greater China [Member]</link:label>
    <link:label id="lab_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54_documentation_en-US" xlink:label="lab_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Greater China [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_GreaterChinaMember" xlink:label="loc_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:to="lab_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:type="arc" />
    <link:label id="lab_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004_terseLabel_en-US" xlink:label="lab_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other [Member]</link:label>
    <link:label id="lab_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004_label_en-US" xlink:label="lab_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Geographic Area [Member]</link:label>
    <link:label id="lab_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004_documentation_en-US" xlink:label="lab_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Other Geographic Area [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OtherGeographicAreaMember" xlink:label="loc_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:to="lab_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7_terseLabel_en-US" xlink:label="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7_label_en-US" xlink:label="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:to="lab_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:type="arc" />
    <link:label id="lab_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C_verboseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C_label_en-US" xlink:label="lab_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sales Revenue, Goods, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueGoodsNet" xlink:label="loc_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C" xlink:to="lab_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C" xlink:type="arc" />
    <link:label id="lab_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651_terseLabel_en-US" xlink:label="lab_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-lived assets</link:label>
    <link:label id="lab_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651_label_en-US" xlink:label="lab_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-Lived Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651" xlink:to="lab_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_C101C48FEF98CD29126D1A2830FD6BDA_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_C101C48FEF98CD29126D1A2830FD6BDA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_C101C48FEF98CD29126D1A2830FD6BDA_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_C101C48FEF98CD29126D1A2830FD6BDA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_C101C48FEF98CD29126D1A2830FD6BDA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_C101C48FEF98CD29126D1A2830FD6BDA" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_C101C48FEF98CD29126D1A2830FD6BDA" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract_71B49BFD364DF5A2A8EA1A9C338A2EF1_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract_71B49BFD364DF5A2A8EA1A9C338A2EF1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract_71B49BFD364DF5A2A8EA1A9C338A2EF1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract_71B49BFD364DF5A2A8EA1A9C338A2EF1" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract_71B49BFD364DF5A2A8EA1A9C338A2EF1" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Measurements, Recurring and Nonrecurring [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Measurements, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Hierarchy [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Hierarchy [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Fair Value Hierarchy [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Quoted Prices in Active Markets for Identical Assets (Level 1) [Member]</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90" xlink:to="lab_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Significant Other Observable Inputs (Level 2) [Member]</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1" xlink:to="lab_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF" xlink:to="lab_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement Frequency [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement Frequency [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Recurring [Member]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Recurring [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Assets:</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Fair Value Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="lab_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:type="arc" />
    <link:label id="lab_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4_terseLabel_en-US" xlink:label="lab_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Money market instruments</link:label>
    <link:label id="lab_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4_label_en-US" xlink:label="lab_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Money Market Instruments Fair Value Disclosure</link:label>
    <link:label id="lab_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4_documentation_en-US" xlink:label="lab_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Money market instruments fair value disclosure.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MoneyMarketInstrumentsFairValueDisclosure" xlink:label="loc_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:to="lab_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:type="arc" />
    <link:label id="lab_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9_terseLabel_en-US" xlink:label="lab_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Corporate bonds</link:label>
    <link:label id="lab_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9_label_en-US" xlink:label="lab_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Corporate Bonds Fair Value Disclosure</link:label>
    <link:label id="lab_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9_documentation_en-US" xlink:label="lab_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Corporate bonds fair value disclosure.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CorporateBondsFairValueDisclosure" xlink:label="loc_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:to="lab_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:type="arc" />
    <link:label id="lab_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A_terseLabel_en-US" xlink:label="lab_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury bills</link:label>
    <link:label id="lab_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A_label_en-US" xlink:label="lab_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Treasury Bills Fair Value Disclosure</link:label>
    <link:label id="lab_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A_documentation_en-US" xlink:label="lab_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Treasury bills fair value disclosure.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_TreasuryBillsFairValueDisclosure" xlink:label="loc_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:to="lab_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:type="arc" />
    <link:label id="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780_verboseLabel_en-US" xlink:label="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Asset-backed securities</link:label>
    <link:label id="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780_label_en-US" xlink:label="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asset Backed Securities Fair Value Disclosure</link:label>
    <link:label id="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780_documentation_en-US" xlink:label="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Asset Backed Securities Fair Value Disclosure</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AssetBackedSecuritiesFairValueDisclosure" xlink:label="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:to="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:type="arc" />
    <link:label id="lab_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337_terseLabel_en-US" xlink:label="lab_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Euro liquidity funds</link:label>
    <link:label id="lab_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337_label_en-US" xlink:label="lab_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Euro liquidity funds</link:label>
    <link:label id="lab_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337_documentation_en-US" xlink:label="lab_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">A pool that invests in investment grade bonds</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Euroliquidityfunds" xlink:label="loc_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:to="lab_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:type="arc" />
    <link:label id="lab_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54_terseLabel_en-US" xlink:label="lab_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sovereign bonds</link:label>
    <link:label id="lab_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54_label_en-US" xlink:label="lab_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sovereign Bonds Fair Value Disclosure</link:label>
    <link:label id="lab_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54_documentation_en-US" xlink:label="lab_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Sovereign bonds fair value disclosure.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SovereignBondsFairValueDisclosure" xlink:label="loc_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:to="lab_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:type="arc" />
    <link:label id="lab_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231_terseLabel_en-US" xlink:label="lab_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Agency bonds</link:label>
    <link:label id="lab_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231_label_en-US" xlink:label="lab_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Agency Bonds Fair Value Disclosure</link:label>
    <link:label id="lab_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231_documentation_en-US" xlink:label="lab_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Agency bonds fair value disclosure.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsFairValueDisclosure" xlink:label="loc_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:to="lab_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:type="arc" />
    <link:label id="lab_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1_terseLabel_en-US" xlink:label="lab_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Municipal bonds</link:label>
    <link:label id="lab_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1_label_en-US" xlink:label="lab_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Municipal Bonds Fair Value Disclosure</link:label>
    <link:label id="lab_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1_documentation_en-US" xlink:label="lab_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Municipal bonds fair value disclosure.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MunicipalBondsFairValueDisclosure" xlink:label="loc_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:to="lab_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flow hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Cash Flow Hedge Asset at Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A" xlink:to="lab_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Economic hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Contract, Asset, Fair Value Disclosure</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414" xlink:to="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Fair Value Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:to="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Economic hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Contracts, Liability, Fair Value Disclosure</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A" xlink:to="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration liabilities</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E_terseLabel_en-US" xlink:label="lab_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other than Temporary Impairment Losses, Investments, Portion Recognized in Earnings, Net</link:label>
    <link:label id="lab_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E_label_en-US" xlink:label="lab_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other than Temporary Impairment Losses, Investments, Portion Recognized in Earnings, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet" xlink:label="loc_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E" xlink:to="lab_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E" xlink:type="arc" />
    <link:label id="lab_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7_terseLabel_en-US" xlink:label="lab_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Than Temporary Impairment Losses Investments Portion Recognized In Earnings Net, non current</link:label>
    <link:label id="lab_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7_label_en-US" xlink:label="lab_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Than Temporary Impairment Losses Investments Portion Recognized In Earnings Net, non current</link:label>
    <link:label id="lab_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7_documentation_en-US" xlink:label="lab_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Other Than Temporary Impairment Losses Investments Portion Recognized In Earnings Net, non current</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent" xlink:label="loc_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:to="lab_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_575CA33595B0467908651A282F575C22_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_575CA33595B0467908651A282F575C22" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_575CA33595B0467908651A282F575C22" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_575CA33595B0467908651A282F575C22" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_575CA33595B0467908651A282F575C22" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_843B73E64C151F9F5F271A282F57B2E4_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_843B73E64C151F9F5F271A282F57B2E4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_843B73E64C151F9F5F271A282F57B2E4_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_843B73E64C151F9F5F271A282F57B2E4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_843B73E64C151F9F5F271A282F57B2E4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_843B73E64C151F9F5F271A282F57B2E4" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_843B73E64C151F9F5F271A282F57B2E4" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021" xlink:to="lab_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021" xlink:type="arc" />
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8_terseLabel_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Components of Cash, Cash Equivalents and Investments</link:label>
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8_label_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Components Of Cash Cash Equivalents And Investments Table [Table Text Block]</link:label>
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8_documentation_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Components of cash cash equivalents and investments.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8" xlink:to="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E13484C44459A213A34D1A282F395131_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E13484C44459A213A34D1A282F395131" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E13484C44459A213A34D1A282F395131_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E13484C44459A213A34D1A282F395131" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E13484C44459A213A34D1A282F395131" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E13484C44459A213A34D1A282F395131" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E13484C44459A213A34D1A282F395131" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_17B259BF0D72403290EA1A282F39838F_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_17B259BF0D72403290EA1A282F39838F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross Unrealized Losses and Fair Value for Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_17B259BF0D72403290EA1A282F39838F_label_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_17B259BF0D72403290EA1A282F39838F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Unrealized Loss on Investments [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_17B259BF0D72403290EA1A282F39838F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_17B259BF0D72403290EA1A282F39838F" xlink:to="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_17B259BF0D72403290EA1A282F39838F" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_483283C314CE663A762C1A282F399970_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_483283C314CE663A762C1A282F399970" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective Maturity Dates of Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_483283C314CE663A762C1A282F399970_label_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_483283C314CE663A762C1A282F399970" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments Classified by Contractual Maturity Date [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_483283C314CE663A762C1A282F399970" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_483283C314CE663A762C1A282F399970" xlink:to="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_483283C314CE663A762C1A282F399970" xlink:type="arc" />
    <link:label id="lab_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_032BA870058931F35E491E4C4760D1FF_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_032BA870058931F35E491E4C4760D1FF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Discontinued Operations and Disposal Groups [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_032BA870058931F35E491E4C4760D1FF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_032BA870058931F35E491E4C4760D1FF" xlink:to="lab_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_032BA870058931F35E491E4C4760D1FF" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540_label_en-US" xlink:label="lab_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:to="lab_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656_label_en-US" xlink:label="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:to="lab_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE_label_en-US" xlink:label="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:to="lab_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:type="arc" />
    <link:label id="lab_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484_terseLabel_en-US" xlink:label="lab_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sisd [Member]</link:label>
    <link:label id="lab_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484_label_en-US" xlink:label="lab_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sisd [Member]</link:label>
    <link:label id="lab_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484_documentation_en-US" xlink:label="lab_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">SISD.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:to="lab_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Classification [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:to="lab_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:label id="lab_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4_label_en-US" xlink:label="lab_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group Classification [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:to="lab_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:type="arc" />
    <link:label id="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Discontinued Operations, Disposed of by Sale [Member]</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Discontinued Operations, Disposed of by Sale [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305" xlink:to="lab_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A_label_en-US" xlink:label="lab_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="lab_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Revenue</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Cost of revenue</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Costs of Goods Sold</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB" xlink:type="arc" />
    <link:label id="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF_negatedTerseLabel_en-US" xlink:label="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Research, development, and engineering expenses</link:label>
    <link:label id="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF_label_en-US" xlink:label="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operations, Research Development And Engineering Expenses</link:label>
    <link:label id="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF_documentation_en-US" xlink:label="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operations, Research Development And Engineering Expenses</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:to="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:type="arc" />
    <link:label id="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3_negatedTerseLabel_en-US" xlink:label="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Selling, general, and administrative expenses</link:label>
    <link:label id="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3_label_en-US" xlink:label="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operations, Selling General And Administrative Expenses</link:label>
    <link:label id="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3_documentation_en-US" xlink:label="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operations, Selling General And Administrative Expenses</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:to="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency loss</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Foreign Currency Translation Gains (Losses)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33" xlink:type="arc" />
    <link:label id="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544_totalLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Operating income from discontinued business</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Discontinued Operation, Income (Loss) from Discontinued Operation, before Income Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544" xlink:to="lab_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544" xlink:type="arc" />
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gain (loss) on sale of discontinued business</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Discontinued Operation, Gain (Loss) from Disposal of Discontinued Operation, before Income Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A" xlink:to="lab_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A" xlink:type="arc" />
    <link:label id="lab_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C_totalLabel_en-US" xlink:label="lab_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income from discontinued operations before income tax expense</link:label>
    <link:label id="lab_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C_label_en-US" xlink:label="lab_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income from discontinued operations, total pretax</link:label>
    <link:label id="lab_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C_documentation_en-US" xlink:label="lab_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Income from discontinued operations, total pretax</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Incomefromdiscontinuedoperationstotalpretax" xlink:label="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:to="lab_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:type="arc" />
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense (benefit) on discontinued operations</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Discontinued Operation, Tax Effect of Discontinued Operation</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4" xlink:to="lab_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income (loss) from discontinued operations</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Discontinued Operations, Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F" xlink:to="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F" xlink:type="arc" />
    <link:label id="lab_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1_terseLabel_en-US" xlink:label="lab_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1_label_en-US" xlink:label="lab_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">stock-basedcompensationdiscontinuedoperation</link:label>
    <link:label id="lab_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1_documentation_en-US" xlink:label="lab_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">stock-basedcompensationdiscontinuedoperation</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Stockbasedcompensationdiscontinuedoperation" xlink:label="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:to="lab_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:type="arc" />
    <link:label id="lab_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E_terseLabel_en-US" xlink:label="lab_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation expense</link:label>
    <link:label id="lab_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E_label_en-US" xlink:label="lab_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation, Discontinued Operations</link:label>
    <link:label id="lab_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E_documentation_en-US" xlink:label="lab_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Depreciation, Discontinued Operations</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DepreciationDiscontinuedOperations" xlink:label="loc_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:to="lab_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:type="arc" />
    <link:label id="lab_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706_terseLabel_en-US" xlink:label="lab_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization expense</link:label>
    <link:label id="lab_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706_label_en-US" xlink:label="lab_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization, Discontinued Operations</link:label>
    <link:label id="lab_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706_documentation_en-US" xlink:label="lab_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Amortization, Discontinued Operations</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AmortizationDiscontinuedOperations" xlink:label="loc_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:to="lab_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:type="arc" />
    <link:label id="lab_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Capital expenditures</link:label>
    <link:label id="lab_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC_label_en-US" xlink:label="lab_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Capital Expenditure, Discontinued Operations</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CapitalExpenditureDiscontinuedOperations" xlink:label="loc_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC" xlink:to="lab_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_A91FE4455AAF593BD14B1A2830C99A7B_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract_A91FE4455AAF593BD14B1A2830C99A7B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_A91FE4455AAF593BD14B1A2830C99A7B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract_A91FE4455AAF593BD14B1A2830C99A7B" xlink:to="lab_us-gaap_EarningsPerShareAbstract_A91FE4455AAF593BD14B1A2830C99A7B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133_label_en-US" xlink:label="lab_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:to="lab_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C_terseLabel_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C_label_en-US" xlink:label="lab_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:to="lab_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A_label_en-US" xlink:label="lab_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:to="lab_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD_label_en-US" xlink:label="lab_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD" xlink:to="lab_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD" xlink:type="arc" />
    <link:label id="lab_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:label id="lab_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C_label_en-US" xlink:label="lab_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockLineItems" xlink:label="loc_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C" xlink:to="lab_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C" xlink:type="arc" />
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7AA9F7299FF1D1C77CE31A2830C9D431_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7AA9F7299FF1D1C77CE31A2830C9D431" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock options to purchase anti-dilutive common stock</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7AA9F7299FF1D1C77CE31A2830C9D431_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7AA9F7299FF1D1C77CE31A2830C9D431" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7AA9F7299FF1D1C77CE31A2830C9D431" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7AA9F7299FF1D1C77CE31A2830C9D431" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7AA9F7299FF1D1C77CE31A2830C9D431" xlink:type="arc" />
    <link:label id="lab_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60_label_en-US" xlink:label="lab_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation and Retirement Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="lab_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:type="arc" />
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_ECAD740CD386BC4E75771A28305A0486_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_ECAD740CD386BC4E75771A28305A0486" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Match</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_ECAD740CD386BC4E75771A28305A0486_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_ECAD740CD386BC4E75771A28305A0486" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Match</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_ECAD740CD386BC4E75771A28305A0486" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_ECAD740CD386BC4E75771A28305A0486" xlink:to="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_ECAD740CD386BC4E75771A28305A0486" xlink:type="arc" />
    <link:label id="lab_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1_terseLabel_en-US" xlink:label="lab_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Minimum age to be eligible to defined contribution plan</link:label>
    <link:label id="lab_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1_label_en-US" xlink:label="lab_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum Age To Be Eligible To Defined Contribution Plan</link:label>
    <link:label id="lab_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1_documentation_en-US" xlink:label="lab_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Minimum age to be eligible to defined contribution plan.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan" xlink:label="loc_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1" xlink:to="lab_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1" xlink:type="arc" />
    <link:label id="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_8313D167EF4BAEA3A7461A28305A1BB1_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_8313D167EF4BAEA3A7461A28305A1BB1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum contribution by company expressed as percentage of employee pre-tax salary</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_8313D167EF4BAEA3A7461A28305A1BB1_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_8313D167EF4BAEA3A7461A28305A1BB1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:label="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_8313D167EF4BAEA3A7461A28305A1BB1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_8313D167EF4BAEA3A7461A28305A1BB1" xlink:to="lab_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_8313D167EF4BAEA3A7461A28305A1BB1" xlink:type="arc" />
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_A5A64FCB6C62AD5FEF3F1A28305AF10D_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_A5A64FCB6C62AD5FEF3F1A28305AF10D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_A5A64FCB6C62AD5FEF3F1A28305AF10D_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_A5A64FCB6C62AD5FEF3F1A28305AF10D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_A5A64FCB6C62AD5FEF3F1A28305AF10D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_A5A64FCB6C62AD5FEF3F1A28305AF10D" xlink:to="lab_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_A5A64FCB6C62AD5FEF3F1A28305AF10D" xlink:type="arc" />
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B_terseLabel_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Company contributions vest at end of two years</link:label>
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B_label_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Company Contributions Vest At End Of Two Year</link:label>
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B_documentation_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Company contributions vest at end of two year.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfTwoYear" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B" xlink:to="lab_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B" xlink:type="arc" />
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5_terseLabel_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Company contributions vest at end of three years</link:label>
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5_label_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Company Contributions Vest At End Of Three Years</link:label>
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5_documentation_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Company contributions vest at end of three years.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfThreeYears" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5" xlink:to="lab_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5" xlink:type="arc" />
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A_totalLabel_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Company contributions vest at end of four years</link:label>
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A_label_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Company Contributions Vest At End Of Four Years</link:label>
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A_documentation_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Company contributions vest at end of four years.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfFourYears" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A" xlink:to="lab_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A" xlink:type="arc" />
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76_terseLabel_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Company contributions vest at end of five years</link:label>
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76_label_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Company Contributions Vest At End Of Five Years</link:label>
    <link:label id="lab_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76_documentation_en-US" xlink:label="lab_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Company contributions vest at end of five years.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfFiveYears" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76" xlink:to="lab_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76" xlink:type="arc" />
    <link:label id="lab_us-gaap_DefinedContributionPlanCostRecognized_A3F37DB5BA657A11C36C1A28305A34B9_terseLabel_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanCostRecognized_A3F37DB5BA657A11C36C1A28305A34B9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Company contributions to employee savings plan</link:label>
    <link:label id="lab_us-gaap_DefinedContributionPlanCostRecognized_A3F37DB5BA657A11C36C1A28305A34B9_label_en-US" xlink:label="lab_us-gaap_DefinedContributionPlanCostRecognized_A3F37DB5BA657A11C36C1A28305A34B9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Defined Contribution Plan, Cost Recognized</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="loc_us-gaap_DefinedContributionPlanCostRecognized_A3F37DB5BA657A11C36C1A28305A34B9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DefinedContributionPlanCostRecognized_A3F37DB5BA657A11C36C1A28305A34B9" xlink:to="lab_us-gaap_DefinedContributionPlanCostRecognized_A3F37DB5BA657A11C36C1A28305A34B9" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F_label_en-US" xlink:label="lab_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:to="lab_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:type="arc" />
    <link:label id="lab_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7_terseLabel_en-US" xlink:label="lab_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Currency [Axis]</link:label>
    <link:label id="lab_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7_label_en-US" xlink:label="lab_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Currency [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrencyAxis" xlink:label="loc_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:to="lab_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:type="arc" />
    <link:label id="lab_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332_terseLabel_en-US" xlink:label="lab_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:label id="lab_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332_label_en-US" xlink:label="lab_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="lab_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:type="arc" />
    <link:label id="lab_currency_USD_C8436FA203FB74978E931E4C494A28C6_terseLabel_en-US" xlink:label="lab_currency_USD_C8436FA203FB74978E931E4C494A28C6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">United States of America, Dollars</link:label>
    <link:label id="lab_currency_USD_C8436FA203FB74978E931E4C494A28C6_label_en-US" xlink:label="lab_currency_USD_C8436FA203FB74978E931E4C494A28C6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">United States of America, Dollars</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_USD" xlink:label="loc_currency_USD_C8436FA203FB74978E931E4C494A28C6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_USD_C8436FA203FB74978E931E4C494A28C6" xlink:to="lab_currency_USD_C8436FA203FB74978E931E4C494A28C6" xlink:type="arc" />
    <link:label id="lab_currency_JPY_D812F3D6560929E1B2C61E4C494A0223_terseLabel_en-US" xlink:label="lab_currency_JPY_D812F3D6560929E1B2C61E4C494A0223" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Japan, Yen</link:label>
    <link:label id="lab_currency_JPY_D812F3D6560929E1B2C61E4C494A0223_label_en-US" xlink:label="lab_currency_JPY_D812F3D6560929E1B2C61E4C494A0223" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Japan, Yen</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_JPY" xlink:label="loc_currency_JPY_D812F3D6560929E1B2C61E4C494A0223" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_JPY_D812F3D6560929E1B2C61E4C494A0223" xlink:to="lab_currency_JPY_D812F3D6560929E1B2C61E4C494A0223" xlink:type="arc" />
    <link:label id="lab_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E_terseLabel_en-US" xlink:label="lab_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Korea (South), Won</link:label>
    <link:label id="lab_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E_label_en-US" xlink:label="lab_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Korea (South), Won</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_KRW" xlink:label="loc_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E" xlink:to="lab_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E" xlink:type="arc" />
    <link:label id="lab_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5_terseLabel_en-US" xlink:label="lab_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hungary, Forint</link:label>
    <link:label id="lab_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5_label_en-US" xlink:label="lab_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hungary, Forint</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_HUF" xlink:label="loc_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5" xlink:to="lab_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5" xlink:type="arc" />
    <link:label id="lab_currency_SGD_78812ED043E28926D8C11E4C4950D68B_terseLabel_en-US" xlink:label="lab_currency_SGD_78812ED043E28926D8C11E4C4950D68B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Singapore, Dollars</link:label>
    <link:label id="lab_currency_SGD_78812ED043E28926D8C11E4C4950D68B_label_en-US" xlink:label="lab_currency_SGD_78812ED043E28926D8C11E4C4950D68B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Singapore, Dollars</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_SGD" xlink:label="loc_currency_SGD_78812ED043E28926D8C11E4C4950D68B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_SGD_78812ED043E28926D8C11E4C4950D68B" xlink:to="lab_currency_SGD_78812ED043E28926D8C11E4C4950D68B" xlink:type="arc" />
    <link:label id="lab_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC_terseLabel_en-US" xlink:label="lab_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Canada, Dollars</link:label>
    <link:label id="lab_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC_label_en-US" xlink:label="lab_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Canada, Dollars</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_CAD" xlink:label="loc_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC" xlink:to="lab_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC" xlink:type="arc" />
    <link:label id="lab_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059_terseLabel_en-US" xlink:label="lab_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">United Kingdom, Pounds</link:label>
    <link:label id="lab_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059_label_en-US" xlink:label="lab_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">United Kingdom, Pounds</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_GBP" xlink:label="loc_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059" xlink:to="lab_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059" xlink:type="arc" />
    <link:label id="lab_currency_TWD_C06B2009FB51854B57AD1E4C49502165_terseLabel_en-US" xlink:label="lab_currency_TWD_C06B2009FB51854B57AD1E4C49502165" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Taiwan, New Dollars</link:label>
    <link:label id="lab_currency_TWD_C06B2009FB51854B57AD1E4C49502165_label_en-US" xlink:label="lab_currency_TWD_C06B2009FB51854B57AD1E4C49502165" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Taiwan, New Dollars</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_TWD" xlink:label="loc_currency_TWD_C06B2009FB51854B57AD1E4C49502165" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_TWD_C06B2009FB51854B57AD1E4C49502165" xlink:to="lab_currency_TWD_C06B2009FB51854B57AD1E4C49502165" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5_label_en-US" xlink:label="lab_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:to="lab_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Asset, Notional Amount</link:label>
    <link:label id="lab_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset, Notional Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0" xlink:to="lab_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-current deferred tax assets:</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance, Noncurrent Classification [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:to="lab_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:type="arc" />
    <link:label id="lab_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7_terseLabel_en-US" xlink:label="lab_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7_label_en-US" xlink:label="lab_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets Tax Credit Carryforwards Foreign And State</link:label>
    <link:label id="lab_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7_documentation_en-US" xlink:label="lab_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Deferred tax assets tax credit carry forwards foreign and state.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState" xlink:label="loc_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7" xlink:to="lab_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_C515F57B85EE33B42D291E4C47F48BA2_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_C515F57B85EE33B42D291E4C47F48BA2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Federal and state tax credit carryforwards</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_C515F57B85EE33B42D291E4C47F48BA2_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_C515F57B85EE33B42D291E4C47F48BA2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_C515F57B85EE33B42D291E4C47F48BA2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_C515F57B85EE33B42D291E4C47F48BA2" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_C515F57B85EE33B42D291E4C47F48BA2" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsInventory_90ACA9EA30E30891B7D41E4C47F4963E_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInventory_90ACA9EA30E30891B7D41E4C47F4963E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventory and revenue related</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsInventory_90ACA9EA30E30891B7D41E4C47F4963E_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsInventory_90ACA9EA30E30891B7D41E4C47F4963E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Inventory</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="loc_us-gaap_DeferredTaxAssetsInventory_90ACA9EA30E30891B7D41E4C47F4963E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsInventory_90ACA9EA30E30891B7D41E4C47F4963E" xlink:to="lab_us-gaap_DeferredTaxAssetsInventory_90ACA9EA30E30891B7D41E4C47F4963E" xlink:type="arc" />
    <link:label id="lab_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13_terseLabel_en-US" xlink:label="lab_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:label id="lab_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13_label_en-US" xlink:label="lab_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Noncurrent Deferred Tax Assets Deprecation</link:label>
    <link:label id="lab_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13_documentation_en-US" xlink:label="lab_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Noncurrent deferred tax assets deprecation.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NoncurrentDeferredTaxAssetsDeprecation" xlink:label="loc_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13" xlink:to="lab_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_F9FF61F5644F77BEBCCF1E4C47F472C4_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_F9FF61F5644F77BEBCCF1E4C47F472C4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Bonuses, commissions, and other compensation</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_F9FF61F5644F77BEBCCF1E4C47F472C4_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_F9FF61F5644F77BEBCCF1E4C47F472C4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Other</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_F9FF61F5644F77BEBCCF1E4C47F472C4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_F9FF61F5644F77BEBCCF1E4C47F472C4" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_F9FF61F5644F77BEBCCF1E4C47F472C4" xlink:type="arc" />
    <link:label id="lab_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831_terseLabel_en-US" xlink:label="lab_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831_label_en-US" xlink:label="lab_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets Other Noncurrent</link:label>
    <link:label id="lab_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831_documentation_en-US" xlink:label="lab_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Deferred tax assets other non current.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DeferredTaxAssetsOtherNoncurrent" xlink:label="loc_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831" xlink:to="lab_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsGrossNoncurrent_49EFE0D834EB03A77BEF1E4C47F41449_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGrossNoncurrent_49EFE0D834EB03A77BEF1E4C47F41449" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Gross non-current deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsGrossNoncurrent_49EFE0D834EB03A77BEF1E4C47F41449_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsGrossNoncurrent_49EFE0D834EB03A77BEF1E4C47F41449" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Gross, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsGrossNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_49EFE0D834EB03A77BEF1E4C47F41449" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_49EFE0D834EB03A77BEF1E4C47F41449" xlink:to="lab_us-gaap_DeferredTaxAssetsGrossNoncurrent_49EFE0D834EB03A77BEF1E4C47F41449" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-current deferred tax liabilities:</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Liabilities, Gross [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7941C05925419C6BCA351E4C47F4AD26_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7941C05925419C6BCA351E4C47F4AD26" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Nondeductible intangible assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7941C05925419C6BCA351E4C47F4AD26_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7941C05925419C6BCA351E4C47F4AD26" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Liabilities, Intangible Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7941C05925419C6BCA351E4C47F4AD26" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7941C05925419C6BCA351E4C47F4AD26" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7941C05925419C6BCA351E4C47F4AD26" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesNoncurrent_5B49502B015F31CF5D851E4C47F5EA79_negatedLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesNoncurrent_5B49502B015F31CF5D851E4C47F5EA79" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Gross non-current deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesNoncurrent_5B49502B015F31CF5D851E4C47F5EA79_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesNoncurrent_5B49502B015F31CF5D851E4C47F5EA79" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Liabilities, Net, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_5B49502B015F31CF5D851E4C47F5EA79" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_5B49502B015F31CF5D851E4C47F5EA79" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesNoncurrent_5B49502B015F31CF5D851E4C47F5EA79" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_0CDD0F62C3E279CB3D901E4C47F5465A_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_0CDD0F62C3E279CB3D901E4C47F5465A" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_0CDD0F62C3E279CB3D901E4C47F5465A_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_0CDD0F62C3E279CB3D901E4C47F5465A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_0CDD0F62C3E279CB3D901E4C47F5465A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_0CDD0F62C3E279CB3D901E4C47F5465A" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_0CDD0F62C3E279CB3D901E4C47F5465A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_C663FA59D87810B015E61E4C47F523B6_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_C663FA59D87810B015E61E4C47F523B6" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net non-current deferred tax assets</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_C663FA59D87810B015E61E4C47F523B6_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_C663FA59D87810B015E61E4C47F523B6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Net, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_C663FA59D87810B015E61E4C47F523B6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_C663FA59D87810B015E61E4C47F523B6" xlink:to="lab_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_C663FA59D87810B015E61E4C47F523B6" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-current deferred tax liabilities:</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Liabilities, Gross, Classification [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesOther_76C4128D4E84E65761421E4C47F5B523_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesOther_76C4128D4E84E65761421E4C47F5B523" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesOther_76C4128D4E84E65761421E4C47F5B523_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesOther_76C4128D4E84E65761421E4C47F5B523" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Liabilities, Other</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther_76C4128D4E84E65761421E4C47F5B523" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesOther_76C4128D4E84E65761421E4C47F5B523" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesOther_76C4128D4E84E65761421E4C47F5B523" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGrossCurrent_6E98029CEFE58E7F24C91E4C47F5E4A2_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGrossCurrent_6E98029CEFE58E7F24C91E4C47F5E4A2" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Net non-current deferred tax liabilities</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGrossCurrent_6E98029CEFE58E7F24C91E4C47F5E4A2_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGrossCurrent_6E98029CEFE58E7F24C91E4C47F5E4A2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Liabilities, Gross, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGrossCurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGrossCurrent_6E98029CEFE58E7F24C91E4C47F5E4A2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGrossCurrent_6E98029CEFE58E7F24C91E4C47F5E4A2" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGrossCurrent_6E98029CEFE58E7F24C91E4C47F5E4A2" xlink:type="arc" />
    <link:label id="lab_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward [Table]</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardTable" xlink:label="loc_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:to="lab_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Valuation Allowance by Deferred Tax Asset [Axis]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4_label_en-US" xlink:label="lab_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation Allowance by Deferred Tax Asset [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowanceByDeferredTaxAssetAxis" xlink:label="loc_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:to="lab_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Tax Asset [Domain]</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Asset [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetDomain" xlink:label="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:to="lab_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Tax Valuation Allowance [Member]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E_label_en-US" xlink:label="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation Allowance of Deferred Tax Assets [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E" xlink:to="lab_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E" xlink:type="arc" />
    <link:label id="lab_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward [Line Items]</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardLineItems" xlink:label="loc_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:to="lab_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax assets, valuation allowance</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3" xlink:to="lab_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityAbstract_3A5792B2E5151B7D8CC81E4C48F42B61_label_en-US" xlink:label="lab_us-gaap_EquityAbstract_3A5792B2E5151B7D8CC81E4C48F42B61" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_3A5792B2E5151B7D8CC81E4C48F42B61" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract_3A5792B2E5151B7D8CC81E4C48F42B61" xlink:to="lab_us-gaap_EquityAbstract_3A5792B2E5151B7D8CC81E4C48F42B61" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:to="lab_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:to="lab_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program 2014 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD_label_en-US" xlink:label="lab_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program 2014 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program 2014 [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RepurchaseProgram2014Member" xlink:label="loc_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:to="lab_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program 2015 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program Twenty Fifteen [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program Twenty Fifteen [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RepurchaseProgramTwentyFifteenMember" xlink:label="loc_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:to="lab_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program November 2015 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program November 2015 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program November 2015 [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RepurchaseProgramNovember2015Member" xlink:label="loc_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:to="lab_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:type="arc" />
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Authorized shares</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B" xlink:type="arc" />
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Preferred stock Par value (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares authorized</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19" xlink:to="lab_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19" xlink:type="arc" />
    <link:label id="lab_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8_terseLabel_en-US" xlink:label="lab_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vote entitled for each common share outstanding</link:label>
    <link:label id="lab_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8_label_en-US" xlink:label="lab_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vote Entitled For Each Common Share Outstanding</link:label>
    <link:label id="lab_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8_documentation_en-US" xlink:label="lab_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Vote entitled for each common share outstanding.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_VoteEntitledForEachCommonShareOutstanding" xlink:label="loc_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:to="lab_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:type="arc" />
    <link:label id="lab_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C_terseLabel_en-US" xlink:label="lab_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of preferred stock purchase right for dividend distribution</link:label>
    <link:label id="lab_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C_label_en-US" xlink:label="lab_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number Of Preferred Stock Purchase Right For Dividend Distribution</link:label>
    <link:label id="lab_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C_documentation_en-US" xlink:label="lab_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of preferred stock purchase right for dividend distribution.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution" xlink:label="loc_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:to="lab_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:type="arc" />
    <link:label id="lab_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2_terseLabel_en-US" xlink:label="lab_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding common share to be acquiring person</link:label>
    <link:label id="lab_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2_label_en-US" xlink:label="lab_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Shares To Be Owned To Become Acquiring Person</link:label>
    <link:label id="lab_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2_documentation_en-US" xlink:label="lab_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Common shares to be owned to become acquiring person.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson" xlink:label="loc_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:to="lab_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase of authorized common stock</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB" xlink:type="arc" />
    <link:label id="lab_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24_terseLabel_en-US" xlink:label="lab_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">total shares repurchased</link:label>
    <link:label id="lab_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24_label_en-US" xlink:label="lab_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">total shares repurchased</link:label>
    <link:label id="lab_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24_documentation_en-US" xlink:label="lab_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">total shares repurchased</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Totalsharesrepurchased" xlink:label="loc_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:to="lab_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:type="arc" />
    <link:label id="lab_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF_terseLabel_en-US" xlink:label="lab_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchased shares, total cost</link:label>
    <link:label id="lab_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF_label_en-US" xlink:label="lab_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchased shares, total cost</link:label>
    <link:label id="lab_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF_documentation_en-US" xlink:label="lab_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchased shares, total cost</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Repurchasedsharestotalcost" xlink:label="loc_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:to="lab_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash dividend declared per common share</link:label>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11_label_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Dividends, Per Share, Declared</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="loc_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11" xlink:to="lab_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payments of Dividends</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments of Dividends</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57" xlink:to="lab_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_8C5CA4B7E65B6FBE88E81A28305C7858_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_8C5CA4B7E65B6FBE88E81A28305C7858" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Calculation of Weighted Average Shares</link:label>
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_8C5CA4B7E65B6FBE88E81A28305C7858_label_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_8C5CA4B7E65B6FBE88E81A28305C7858" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Weighted Average Number of Shares [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_8C5CA4B7E65B6FBE88E81A28305C7858" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_8C5CA4B7E65B6FBE88E81A28305C7858" xlink:to="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_8C5CA4B7E65B6FBE88E81A28305C7858" xlink:type="arc" />
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794C61F3E9F9F0C1F7B71A2830BC75F6_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794C61F3E9F9F0C1F7B71A2830BC75F6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794C61F3E9F9F0C1F7B71A2830BC75F6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794C61F3E9F9F0C1F7B71A2830BC75F6" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794C61F3E9F9F0C1F7B71A2830BC75F6" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_B712A84666B8DA789AB91A2830BD722A_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_B712A84666B8DA789AB91A2830BD722A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortized Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_B712A84666B8DA789AB91A2830BD722A_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_B712A84666B8DA789AB91A2830BD722A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_B712A84666B8DA789AB91A2830BD722A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_B712A84666B8DA789AB91A2830BD722A" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_B712A84666B8DA789AB91A2830BD722A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_7A83F92BAF02F32A301C1A2830BDD5A6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_7A83F92BAF02F32A301C1A2830BDD5A6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Estimated Amortization Expense Succeeding Fiscal Years</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_7A83F92BAF02F32A301C1A2830BDD5A6_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_7A83F92BAF02F32A301C1A2830BDD5A6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_7A83F92BAF02F32A301C1A2830BDD5A6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_7A83F92BAF02F32A301C1A2830BDD5A6" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_7A83F92BAF02F32A301C1A2830BDD5A6" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock_E40046EFEBAC1B76EAB61A282F1775BD_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock_E40046EFEBAC1B76EAB61A282F1775BD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Notional Amounts of Outstanding Derivative Positions</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock_E40046EFEBAC1B76EAB61A282F1775BD_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock_E40046EFEBAC1B76EAB61A282F1775BD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Notional Amounts of Outstanding Derivative Positions [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock_E40046EFEBAC1B76EAB61A282F1775BD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock_E40046EFEBAC1B76EAB61A282F1775BD" xlink:to="lab_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock_E40046EFEBAC1B76EAB61A282F1775BD" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_D26D3893AD7BEE132CCB1A282F174ED1_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_D26D3893AD7BEE132CCB1A282F174ED1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_D26D3893AD7BEE132CCB1A282F174ED1_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_D26D3893AD7BEE132CCB1A282F174ED1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_D26D3893AD7BEE132CCB1A282F174ED1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_D26D3893AD7BEE132CCB1A282F174ED1" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_D26D3893AD7BEE132CCB1A282F174ED1" xlink:type="arc" />
    <link:label id="lab_us-gaap_OffsettingAssetsTableTextBlock_F7FBBACFFF801CD3200F1A282F17E107_terseLabel_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock_F7FBBACFFF801CD3200F1A282F17E107" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Offsetting Assets</link:label>
    <link:label id="lab_us-gaap_OffsettingAssetsTableTextBlock_F7FBBACFFF801CD3200F1A282F17E107_label_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock_F7FBBACFFF801CD3200F1A282F17E107" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Offsetting Assets [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OffsettingAssetsTableTextBlock" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock_F7FBBACFFF801CD3200F1A282F17E107" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OffsettingAssetsTableTextBlock_F7FBBACFFF801CD3200F1A282F17E107" xlink:to="lab_us-gaap_OffsettingAssetsTableTextBlock_F7FBBACFFF801CD3200F1A282F17E107" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F8C19F5C56ED6E26D3701A282F176496_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F8C19F5C56ED6E26D3701A282F176496" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F8C19F5C56ED6E26D3701A282F176496_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F8C19F5C56ED6E26D3701A282F176496" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F8C19F5C56ED6E26D3701A282F176496" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F8C19F5C56ED6E26D3701A282F176496" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F8C19F5C56ED6E26D3701A282F176496" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock_681285A4C64281A7A2991A282F1709BB_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock_681285A4C64281A7A2991A282F1709BB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Derivative Instruments, Effect on Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock_681285A4C64281A7A2991A282F1709BB_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock_681285A4C64281A7A2991A282F1709BB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Derivative Instruments, Effect on Other Comprehensive Income (Loss) [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock_681285A4C64281A7A2991A282F1709BB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock_681285A4C64281A7A2991A282F1709BB" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock_681285A4C64281A7A2991A282F1709BB" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationsAbstract_6AD8D0DA59A2C05960BA1B98AE8C8F9C_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationsAbstract_6AD8D0DA59A2C05960BA1B98AE8C8F9C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combinations [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_6AD8D0DA59A2C05960BA1B98AE8C8F9C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_6AD8D0DA59A2C05960BA1B98AE8C8F9C" xlink:to="lab_us-gaap_BusinessCombinationsAbstract_6AD8D0DA59A2C05960BA1B98AE8C8F9C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:type="arc" />
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8_terseLabel_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:label id="lab_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8_label_en-US" xlink:label="lab_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8" xlink:to="lab_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8" xlink:type="arc" />
    <link:label id="lab_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E_terseLabel_en-US" xlink:label="lab_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Technology-Based Intangible Assets [Member]</link:label>
    <link:label id="lab_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E_label_en-US" xlink:label="lab_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Technology-Based Intangible Assets [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E" xlink:to="lab_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:to="lab_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:type="arc" />
    <link:label id="lab_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD_terseLabel_en-US" xlink:label="lab_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Manatee Works, Inc. [Member]</link:label>
    <link:label id="lab_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD_label_en-US" xlink:label="lab_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Manatee Works, Inc. [Member]</link:label>
    <link:label id="lab_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD_documentation_en-US" xlink:label="lab_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Manatee Works, Inc. [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:to="lab_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-lived intangible assets</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637" xlink:type="arc" />
    <link:label id="lab_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106_label_en-US" xlink:label="lab_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106" xlink:to="lab_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC_totalLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Purchase price</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC" xlink:type="arc" />
    <link:label id="lab_us-gaap_PayablesAndAccrualsAbstract_D0C9E56C5A7A362BFEE91E4C49BF5877_label_en-US" xlink:label="lab_us-gaap_PayablesAndAccrualsAbstract_D0C9E56C5A7A362BFEE91E4C49BF5877" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payables and Accruals [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_D0C9E56C5A7A362BFEE91E4C49BF5877" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_D0C9E56C5A7A362BFEE91E4C49BF5877" xlink:to="lab_us-gaap_PayablesAndAccrualsAbstract_D0C9E56C5A7A362BFEE91E4C49BF5877" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Constituents of accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedBonusesCurrent_1E9785397D866FEEC45C1E4C49BF9D06_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedBonusesCurrent_1E9785397D866FEEC45C1E4C49BF9D06" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Company bonuses</link:label>
    <link:label id="lab_us-gaap_AccruedBonusesCurrent_1E9785397D866FEEC45C1E4C49BF9D06_label_en-US" xlink:label="lab_us-gaap_AccruedBonusesCurrent_1E9785397D866FEEC45C1E4C49BF9D06" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Bonuses, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedBonusesCurrent" xlink:label="loc_us-gaap_AccruedBonusesCurrent_1E9785397D866FEEC45C1E4C49BF9D06" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedBonusesCurrent_1E9785397D866FEEC45C1E4C49BF9D06" xlink:to="lab_us-gaap_AccruedBonusesCurrent_1E9785397D866FEEC45C1E4C49BF9D06" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedSalariesCurrent_4773C884E708025B71E71E4C49BFFA61_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedSalariesCurrent_4773C884E708025B71E71E4C49BFFA61" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Salaries, commissions, and payroll taxes</link:label>
    <link:label id="lab_us-gaap_AccruedSalariesCurrent_4773C884E708025B71E71E4C49BFFA61_label_en-US" xlink:label="lab_us-gaap_AccruedSalariesCurrent_4773C884E708025B71E71E4C49BFFA61" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Salaries, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="loc_us-gaap_AccruedSalariesCurrent_4773C884E708025B71E71E4C49BFFA61" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedSalariesCurrent_4773C884E708025B71E71E4C49BFFA61" xlink:to="lab_us-gaap_AccruedSalariesCurrent_4773C884E708025B71E71E4C49BFFA61" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedVacationCurrent_1F5DFEF2751CC990A90F1E4C49BF2647_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedVacationCurrent_1F5DFEF2751CC990A90F1E4C49BF2647" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vacation</link:label>
    <link:label id="lab_us-gaap_AccruedVacationCurrent_1F5DFEF2751CC990A90F1E4C49BF2647_label_en-US" xlink:label="lab_us-gaap_AccruedVacationCurrent_1F5DFEF2751CC990A90F1E4C49BF2647" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Vacation, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedVacationCurrent" xlink:label="loc_us-gaap_AccruedVacationCurrent_1F5DFEF2751CC990A90F1E4C49BF2647" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedVacationCurrent_1F5DFEF2751CC990A90F1E4C49BF2647" xlink:to="lab_us-gaap_AccruedVacationCurrent_1F5DFEF2751CC990A90F1E4C49BF2647" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_12B97DD6771E0377B9DA1E4C49C03FAC_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_12B97DD6771E0377B9DA1E4C49C03FAC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Warranty obligations</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_12B97DD6771E0377B9DA1E4C49C03FAC_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_12B97DD6771E0377B9DA1E4C49C03FAC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranty Accrual, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_12B97DD6771E0377B9DA1E4C49C03FAC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_12B97DD6771E0377B9DA1E4C49C03FAC" xlink:to="lab_us-gaap_ProductWarrantyAccrualClassifiedCurrent_12B97DD6771E0377B9DA1E4C49C03FAC" xlink:type="arc" />
    <link:label id="lab_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD_terseLabel_en-US" xlink:label="lab_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign retirement obligations</link:label>
    <link:label id="lab_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD_label_en-US" xlink:label="lab_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retirement Allowance</link:label>
    <link:label id="lab_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD_documentation_en-US" xlink:label="lab_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Retirement allowance Japan.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RetirementAllowance" xlink:label="loc_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD" xlink:to="lab_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_AE26DAEBCC9AD82503551E4C49C07DC4_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent_AE26DAEBCC9AD82503551E4C49C07DC4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_OtherAccruedLiabilitiesCurrent_AE26DAEBCC9AD82503551E4C49C07DC4_label_en-US" xlink:label="lab_us-gaap_OtherAccruedLiabilitiesCurrent_AE26DAEBCC9AD82503551E4C49C07DC4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Accrued Liabilities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_AE26DAEBCC9AD82503551E4C49C07DC4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAccruedLiabilitiesCurrent_AE26DAEBCC9AD82503551E4C49C07DC4" xlink:to="lab_us-gaap_OtherAccruedLiabilitiesCurrent_AE26DAEBCC9AD82503551E4C49C07DC4" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_A873BB15B1474224283E1E4C49C09F42_totalLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent_A873BB15B1474224283E1E4C49C09F42" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_A873BB15B1474224283E1E4C49C09F42_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent_A873BB15B1474224283E1E4C49C09F42" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_A873BB15B1474224283E1E4C49C09F42" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_A873BB15B1474224283E1E4C49C09F42" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent_A873BB15B1474224283E1E4C49C09F42" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:type="arc" />
    <link:label id="lab_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74_terseLabel_en-US" xlink:label="lab_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Range [Axis]</link:label>
    <link:label id="lab_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74_label_en-US" xlink:label="lab_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeAxis" xlink:label="loc_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:to="lab_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:type="arc" />
    <link:label id="lab_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186_terseLabel_en-US" xlink:label="lab_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Range [Domain]</link:label>
    <link:label id="lab_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186_label_en-US" xlink:label="lab_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:to="lab_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:type="arc" />
    <link:label id="lab_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC_terseLabel_en-US" xlink:label="lab_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum [Member]</link:label>
    <link:label id="lab_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC_label_en-US" xlink:label="lab_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumMember" xlink:label="loc_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC" xlink:to="lab_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC" xlink:type="arc" />
    <link:label id="lab_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE_terseLabel_en-US" xlink:label="lab_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:label id="lab_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE_label_en-US" xlink:label="lab_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Entity [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:to="lab_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:type="arc" />
    <link:label id="lab_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370_terseLabel_en-US" xlink:label="lab_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
    <link:label id="lab_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370_label_en-US" xlink:label="lab_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370" xlink:to="lab_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370" xlink:type="arc" />
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A_terseLabel_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Axis]</link:label>
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A_label_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:to="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:type="arc" />
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65_terseLabel_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Domain]</link:label>
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65_label_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:type="arc" />
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Corporate Bonds [Member]</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192_label_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Corporate Bond Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192" xlink:to="lab_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192" xlink:type="arc" />
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69_terseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury Bills [Member]</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69_label_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">US Treasury Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69" xlink:to="lab_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5_terseLabel_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Asset-Backed Securities [Member]</link:label>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5_label_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asset-backed Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5" xlink:to="lab_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5" xlink:type="arc" />
    <link:label id="lab_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02_terseLabel_en-US" xlink:label="lab_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Euro liquidity fund [Member]</link:label>
    <link:label id="lab_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02_label_en-US" xlink:label="lab_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Euro liquidity fund [Member]</link:label>
    <link:label id="lab_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02_documentation_en-US" xlink:label="lab_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Investments in a portfolio of investment-grade bonds.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EuroliquidityfundMember" xlink:label="loc_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:to="lab_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:type="arc" />
    <link:label id="lab_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F_terseLabel_en-US" xlink:label="lab_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Agency Bonds [Member]</link:label>
    <link:label id="lab_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F_label_en-US" xlink:label="lab_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Agency Bonds [Member]</link:label>
    <link:label id="lab_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F_documentation_en-US" xlink:label="lab_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Agency bond.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:to="lab_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:type="arc" />
    <link:label id="lab_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461_terseLabel_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sovereign Bonds [Member]</link:label>
    <link:label id="lab_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461_label_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sovereign Debt Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461" xlink:to="lab_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461" xlink:type="arc" />
    <link:label id="lab_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263_terseLabel_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Municipal Bonds [Member]</link:label>
    <link:label id="lab_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263_label_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Municipal Bonds [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263" xlink:to="lab_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Line Items]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Less than 1 Year</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Maturities, Next Twelve Months, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">1-2 Years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After One Year Before Two Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2-3 Years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Two Years Before Three Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, debt maturities after second year but before third year, fair value.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">3-4 Years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Three Years Before Four Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, debt maturities after third year but before fourth year, fair value.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">4-5 Years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Four Years Before Five Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Total</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Securities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_CD62743EC4469B884F251A282F5F6B24_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_CD62743EC4469B884F251A282F5F6B24" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Discontinued Operations</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_CD62743EC4469B884F251A282F5F6B24_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_CD62743EC4469B884F251A282F5F6B24" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Groups, Including Discontinued Operations [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:label="loc_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_CD62743EC4469B884F251A282F5F6B24" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_CD62743EC4469B884F251A282F5F6B24" xlink:to="lab_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_CD62743EC4469B884F251A282F5F6B24" xlink:type="arc" />
    <link:label id="lab_us-gaap_DiscontinuedOperationsPolicyTextBlock_20617878DCE5EDF375341A282F972282_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsPolicyTextBlock_20617878DCE5EDF375341A282F972282" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Discontinued Operations</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationsPolicyTextBlock_20617878DCE5EDF375341A282F972282_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationsPolicyTextBlock_20617878DCE5EDF375341A282F972282" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Discontinued Operations, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsPolicyTextBlock" xlink:label="loc_us-gaap_DiscontinuedOperationsPolicyTextBlock_20617878DCE5EDF375341A282F972282" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationsPolicyTextBlock_20617878DCE5EDF375341A282F972282" xlink:to="lab_us-gaap_DiscontinuedOperationsPolicyTextBlock_20617878DCE5EDF375341A282F972282" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_257ECAE296A325549A991A28303285CA_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock_257ECAE296A325549A991A28303285CA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted Average Shares</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_257ECAE296A325549A991A28303285CA_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock_257ECAE296A325549A991A28303285CA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_257ECAE296A325549A991A28303285CA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock_257ECAE296A325549A991A28303285CA" xlink:to="lab_us-gaap_EarningsPerShareTextBlock_257ECAE296A325549A991A28303285CA" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_454157933839F4BBF92B1A282F35D891_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract_454157933839F4BBF92B1A282F35D891" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_454157933839F4BBF92B1A282F35D891" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_454157933839F4BBF92B1A282F35D891" xlink:to="lab_us-gaap_AccountingPoliciesAbstract_454157933839F4BBF92B1A282F35D891" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdvertisingExpense_16DC76BD5E22051E12821A282F35FD3D_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingExpense_16DC76BD5E22051E12821A282F35FD3D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Advertising costs</link:label>
    <link:label id="lab_us-gaap_AdvertisingExpense_16DC76BD5E22051E12821A282F35FD3D_label_en-US" xlink:label="lab_us-gaap_AdvertisingExpense_16DC76BD5E22051E12821A282F35FD3D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Advertising Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdvertisingExpense" xlink:label="loc_us-gaap_AdvertisingExpense_16DC76BD5E22051E12821A282F35FD3D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingExpense_16DC76BD5E22051E12821A282F35FD3D" xlink:to="lab_us-gaap_AdvertisingExpense_16DC76BD5E22051E12821A282F35FD3D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:type="arc" />
    <link:label id="lab_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB_terseLabel_en-US" xlink:label="lab_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Distribution networks</link:label>
    <link:label id="lab_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB_label_en-US" xlink:label="lab_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Distribution Rights [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB" xlink:to="lab_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB" xlink:type="arc" />
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877_terseLabel_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877_label_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Contracts And Relationships [Member]</link:label>
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877_documentation_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Customer Contracts And Relationships [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:to="lab_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:type="arc" />
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF_terseLabel_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Completed technologies</link:label>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF_label_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF" xlink:to="lab_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:to="lab_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:to="lab_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845_verboseLabel_en-US" xlink:label="lab_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Cash Flow Hedging [Member]</link:label>
    <link:label id="lab_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845_label_en-US" xlink:label="lab_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash Flow Hedging [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845" xlink:to="lab_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:to="lab_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:to="lab_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Loss [Member]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive loss consists of foreign currency translation adjustments, net of tax</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized losses on available-for-sale investments, net of tax</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gains on derivative instruments</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Recognized in Other Comprehensive Income (Loss), Effective Portion, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Losses on currency swaps, net of gains on long-term intercompany loans</link:label>
    <link:label id="lab_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922_label_en-US" xlink:label="lab_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustment for Long-term Intercompany Transactions, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax" xlink:label="loc_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922" xlink:to="lab_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net realized gains reclassified into current operations</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAndQualifyingAccountsAbstract_648DD135E9207C059E651A282FA0A2A2_label_en-US" xlink:label="lab_us-gaap_ValuationAndQualifyingAccountsAbstract_648DD135E9207C059E651A282FA0A2A2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation and Qualifying Accounts [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAndQualifyingAccountsAbstract" xlink:label="loc_us-gaap_ValuationAndQualifyingAccountsAbstract_648DD135E9207C059E651A282FA0A2A2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsAbstract_648DD135E9207C059E651A282FA0A2A2" xlink:to="lab_us-gaap_ValuationAndQualifyingAccountsAbstract_648DD135E9207C059E651A282FA0A2A2" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:label id="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D_label_en-US" xlink:label="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation and Qualifying Accounts Disclosure [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:to="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation Allowances and Reserves Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Valuation Allowances and Reserves [Domain]</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation Allowances and Reserves [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:type="arc" />
    <link:label id="lab_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4_terseLabel_en-US" xlink:label="lab_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reserve for Uncollectible Accounts [Member]</link:label>
    <link:label id="lab_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4_label_en-US" xlink:label="lab_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Uncollectible Receivables [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UncollectibleReceivablesMember" xlink:label="loc_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4" xlink:to="lab_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reserve for Inventory Obsolescence [Member]</link:label>
    <link:label id="lab_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22_label_en-US" xlink:label="lab_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Valuation Reserve [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryValuationReserveMember" xlink:label="loc_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22" xlink:to="lab_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:label id="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271_label_en-US" xlink:label="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation and Qualifying Accounts Disclosure [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:to="lab_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:type="arc" />
    <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Movement in Valuation Allowances and Reserves [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059_label_en-US" xlink:label="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Movement in Valuation Allowances and Reserves [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="lab_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC_periodStartLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance at Beginning of Period</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation Allowances and Reserves, Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Charged to Costs and Expenses</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation Allowances and Reserves, Additions for Charges to Cost and Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E_negatedLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Deductions</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation Allowances and Reserves, Deductions</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1_label_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Valuation Allowances and Reserves, Additions for Adjustments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesAdjustments" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_A1BD02FA82300D811BCE1A282FA18583_periodEndLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance_A1BD02FA82300D811BCE1A282FA18583" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance at End of Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_A1BD02FA82300D811BCE1A282FA18583" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesBalance_A1BD02FA82300D811BCE1A282FA18583" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesBalance_A1BD02FA82300D811BCE1A282FA18583" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_405D951FA56C86AA691B1A282F53FC5F_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_405D951FA56C86AA691B1A282F53FC5F" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, Shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_405D951FA56C86AA691B1A282F53FC5F_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_405D951FA56C86AA691B1A282F53FC5F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_405D951FA56C86AA691B1A282F53FC5F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_405D951FA56C86AA691B1A282F53FC5F" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_405D951FA56C86AA691B1A282F53FC5F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C56E73B70F5EB3FA8B21A282F53D4AD_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C56E73B70F5EB3FA8B21A282F53D4AD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C56E73B70F5EB3FA8B21A282F53D4AD_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C56E73B70F5EB3FA8B21A282F53D4AD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C56E73B70F5EB3FA8B21A282F53D4AD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C56E73B70F5EB3FA8B21A282F53D4AD" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C56E73B70F5EB3FA8B21A282F53D4AD" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_31BB53417E7E643D447D1A282F53924C_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_31BB53417E7E643D447D1A282F53924C" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Exercised</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_31BB53417E7E643D447D1A282F53924C_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_31BB53417E7E643D447D1A282F53924C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_31BB53417E7E643D447D1A282F53924C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_31BB53417E7E643D447D1A282F53924C" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_31BB53417E7E643D447D1A282F53924C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_345860D9B11B5CB235241A282F53EAAE_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_345860D9B11B5CB235241A282F53EAAE" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Forfeited or expired</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_345860D9B11B5CB235241A282F53EAAE_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_345860D9B11B5CB235241A282F53EAAE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_345860D9B11B5CB235241A282F53EAAE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_345860D9B11B5CB235241A282F53EAAE" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_345860D9B11B5CB235241A282F53EAAE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_168ADFE49093402C03D71A282F533D50_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_168ADFE49093402C03D71A282F533D50" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, Shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_168ADFE49093402C03D71A282F533D50" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_168ADFE49093402C03D71A282F533D50" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_168ADFE49093402C03D71A282F533D50" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_25BB077FF9B58674A3681A282F531228_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_25BB077FF9B58674A3681A282F531228" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, Shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_25BB077FF9B58674A3681A282F531228_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_25BB077FF9B58674A3681A282F531228" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_25BB077FF9B58674A3681A282F531228" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_25BB077FF9B58674A3681A282F531228" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_25BB077FF9B58674A3681A282F531228" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_4AD5E12DE193E9B09EB51A282F536D75_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_4AD5E12DE193E9B09EB51A282F536D75" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_4AD5E12DE193E9B09EB51A282F536D75_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_4AD5E12DE193E9B09EB51A282F536D75" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_4AD5E12DE193E9B09EB51A282F536D75" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_4AD5E12DE193E9B09EB51A282F536D75" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_4AD5E12DE193E9B09EB51A282F536D75" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_7AD8E33693EB87ABDC321A282F539C5B_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_7AD8E33693EB87ABDC321A282F539C5B" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, Weighted-Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_7AD8E33693EB87ABDC321A282F539C5B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_7AD8E33693EB87ABDC321A282F539C5B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_7AD8E33693EB87ABDC321A282F539C5B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_7AD8E33693EB87ABDC321A282F539C5B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_7AD8E33693EB87ABDC321A282F539C5B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_01DC99D2A40538C12EE11A282F539E25_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_01DC99D2A40538C12EE11A282F539E25" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted, Weighted-Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_01DC99D2A40538C12EE11A282F539E25_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_01DC99D2A40538C12EE11A282F539E25" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_01DC99D2A40538C12EE11A282F539E25" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_01DC99D2A40538C12EE11A282F539E25" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_01DC99D2A40538C12EE11A282F539E25" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3B154152907D239B4DA91A282F5375BC_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3B154152907D239B4DA91A282F5375BC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercised, Weighted-Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3B154152907D239B4DA91A282F5375BC_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3B154152907D239B4DA91A282F5375BC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3B154152907D239B4DA91A282F5375BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3B154152907D239B4DA91A282F5375BC" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3B154152907D239B4DA91A282F5375BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_FB853D00B9D72F91EB881A282F5338C5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_FB853D00B9D72F91EB881A282F5338C5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Forfeited or expired, Weighted-Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_FB853D00B9D72F91EB881A282F5338C5_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_FB853D00B9D72F91EB881A282F5338C5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_FB853D00B9D72F91EB881A282F5338C5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_FB853D00B9D72F91EB881A282F5338C5" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_FB853D00B9D72F91EB881A282F5338C5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_424ED50C87DF2366E1DA1A282F531B3A_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_424ED50C87DF2366E1DA1A282F531B3A" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, Weighted-Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_424ED50C87DF2366E1DA1A282F531B3A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_424ED50C87DF2366E1DA1A282F531B3A" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_424ED50C87DF2366E1DA1A282F531B3A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E9C96CA52E2D6B2310F01A282F532F1E_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E9C96CA52E2D6B2310F01A282F532F1E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, Weighted-Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E9C96CA52E2D6B2310F01A282F532F1E_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E9C96CA52E2D6B2310F01A282F532F1E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E9C96CA52E2D6B2310F01A282F532F1E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E9C96CA52E2D6B2310F01A282F532F1E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E9C96CA52E2D6B2310F01A282F532F1E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6A40D836686E996E3B951A282F53D0C6_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6A40D836686E996E3B951A282F53D0C6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest, Weighted-Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6A40D836686E996E3B951A282F53D0C6_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6A40D836686E996E3B951A282F53D0C6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6A40D836686E996E3B951A282F53D0C6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6A40D836686E996E3B951A282F53D0C6" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6A40D836686E996E3B951A282F53D0C6" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_00B4226D1390E881BF851A282F537D88_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_00B4226D1390E881BF851A282F537D88" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding, Weighted-Average Remaining Contractual Term (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_00B4226D1390E881BF851A282F537D88_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_00B4226D1390E881BF851A282F537D88" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_00B4226D1390E881BF851A282F537D88" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_00B4226D1390E881BF851A282F537D88" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_00B4226D1390E881BF851A282F537D88" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_908C81E5CD51D1413A451A282F533DA0_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_908C81E5CD51D1413A451A282F533DA0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, Weighted-Average Remaining Contractual Term (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_908C81E5CD51D1413A451A282F533DA0_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_908C81E5CD51D1413A451A282F533DA0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_908C81E5CD51D1413A451A282F533DA0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_908C81E5CD51D1413A451A282F533DA0" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_908C81E5CD51D1413A451A282F533DA0" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_49416DF4CDFD9E40560C1A282F53879C_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_49416DF4CDFD9E40560C1A282F53879C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest, Weighted-Average Remaining Contractual Term (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_49416DF4CDFD9E40560C1A282F53879C_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_49416DF4CDFD9E40560C1A282F53879C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_49416DF4CDFD9E40560C1A282F53879C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_49416DF4CDFD9E40560C1A282F53879C" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_49416DF4CDFD9E40560C1A282F53879C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AFE6C53326E643757BA81A282F549889_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AFE6C53326E643757BA81A282F549889" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding, Aggregate Intrinsic Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AFE6C53326E643757BA81A282F549889_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AFE6C53326E643757BA81A282F549889" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AFE6C53326E643757BA81A282F549889" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AFE6C53326E643757BA81A282F549889" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AFE6C53326E643757BA81A282F549889" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, Aggregate Intrinsic Value</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Aggregate Intrinsic Value</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_40095DD0F4674F1CFBD21A282F54CEE3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_40095DD0F4674F1CFBD21A282F54CEE3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest, Aggregate Intrinsic Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_40095DD0F4674F1CFBD21A282F54CEE3_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_40095DD0F4674F1CFBD21A282F54CEE3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_40095DD0F4674F1CFBD21A282F54CEE3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_40095DD0F4674F1CFBD21A282F54CEE3" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_40095DD0F4674F1CFBD21A282F54CEE3" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_500E5D812A6E4194ABAE1A283100D990_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_500E5D812A6E4194ABAE1A283100D990" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Constituents of Provision for Income Taxes</link:label>
    <link:label id="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_500E5D812A6E4194ABAE1A283100D990_label_en-US" xlink:label="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_500E5D812A6E4194ABAE1A283100D990" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_500E5D812A6E4194ABAE1A283100D990" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_500E5D812A6E4194ABAE1A283100D990" xlink:to="lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_500E5D812A6E4194ABAE1A283100D990" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_AA2007467802ABBD13D01A283100173B_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_AA2007467802ABBD13D01A283100173B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reconciliation of the United States Federal Statutory Corporate Tax Rate to the Company's Effective Tax Rate or Income Tax Provision</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_AA2007467802ABBD13D01A283100173B_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_AA2007467802ABBD13D01A283100173B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_AA2007467802ABBD13D01A283100173B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_AA2007467802ABBD13D01A283100173B" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_AA2007467802ABBD13D01A283100173B" xlink:type="arc" />
    <link:label id="lab_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock_C5BED030EAEABBEEE2E61A2831004C93_terseLabel_en-US" xlink:label="lab_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock_C5BED030EAEABBEEE2E61A2831004C93" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Changes in the Reserve for Income Taxes, Excluding Interest and Penalties</link:label>
    <link:label id="lab_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock_C5BED030EAEABBEEE2E61A2831004C93_label_en-US" xlink:label="lab_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock_C5BED030EAEABBEEE2E61A2831004C93" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Summary of Income Tax Contingencies [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SummaryOfIncomeTaxContingenciesTextBlock" xlink:label="loc_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock_C5BED030EAEABBEEE2E61A2831004C93" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock_C5BED030EAEABBEEE2E61A2831004C93" xlink:to="lab_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock_C5BED030EAEABBEEE2E61A2831004C93" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1D2BEE1F05645EC7BFC11A283100392F_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1D2BEE1F05645EC7BFC11A283100392F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Constituents of Deferred Tax Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1D2BEE1F05645EC7BFC11A283100392F_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1D2BEE1F05645EC7BFC11A283100392F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1D2BEE1F05645EC7BFC11A283100392F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1D2BEE1F05645EC7BFC11A283100392F" xlink:to="lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1D2BEE1F05645EC7BFC11A283100392F" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415_terseLabel_en-US" xlink:label="lab_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective maturity of investments</link:label>
    <link:label id="lab_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415_label_en-US" xlink:label="lab_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Maturities, Effective Term, Maximum</link:label>
    <link:label id="lab_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415_documentation_en-US" xlink:label="lab_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Maturities, Effective Term, Maximum</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum" xlink:label="loc_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415" xlink:to="lab_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415" xlink:type="arc" />
    <link:label id="lab_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88_terseLabel_en-US" xlink:label="lab_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum investment of the company in partnership</link:label>
    <link:label id="lab_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88_label_en-US" xlink:label="lab_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Investment Of Company In Partnership</link:label>
    <link:label id="lab_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88_documentation_en-US" xlink:label="lab_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Maximum investment of the company in partnership.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MaximumInvestmentOfCompanyInPartnership" xlink:label="loc_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88" xlink:to="lab_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B_label_en-US" xlink:label="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:to="lab_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:type="arc" />
    <link:label id="lab_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321_terseLabel_en-US" xlink:label="lab_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Building [Member]</link:label>
    <link:label id="lab_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321_label_en-US" xlink:label="lab_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Building [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321" xlink:to="lab_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321" xlink:type="arc" />
    <link:label id="lab_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4_terseLabel_en-US" xlink:label="lab_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Building Improvements [Member]</link:label>
    <link:label id="lab_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4_label_en-US" xlink:label="lab_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Building Improvements [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingImprovementsMember" xlink:label="loc_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4" xlink:to="lab_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4" xlink:type="arc" />
    <link:label id="lab_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A_terseLabel_en-US" xlink:label="lab_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Computer Hardware and Software [Member]</link:label>
    <link:label id="lab_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A_label_en-US" xlink:label="lab_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Computer Hardware And Software [Member]</link:label>
    <link:label id="lab_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A_documentation_en-US" xlink:label="lab_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Computer Hardware and Software Member.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ComputerHardwareAndSoftwareMember" xlink:label="loc_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:to="lab_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3_verboseLabel_en-US" xlink:label="lab_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Manufacturing test equipment [Member]</link:label>
    <link:label id="lab_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3_label_en-US" xlink:label="lab_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equipment [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3" xlink:to="lab_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3" xlink:type="arc" />
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B_terseLabel_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:label id="lab_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B_label_en-US" xlink:label="lab_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Furniture and Fixtures [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B" xlink:to="lab_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B" xlink:type="arc" />
    <link:label id="lab_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6_terseLabel_en-US" xlink:label="lab_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Minimum [Member]</link:label>
    <link:label id="lab_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6_label_en-US" xlink:label="lab_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MinimumMember" xlink:label="loc_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6" xlink:to="lab_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_56FCDF04217ABBEC55EC1B98AFEF0D2F_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract_56FCDF04217ABBEC55EC1B98AFEF0D2F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_56FCDF04217ABBEC55EC1B98AFEF0D2F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_56FCDF04217ABBEC55EC1B98AFEF0D2F" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract_56FCDF04217ABBEC55EC1B98AFEF0D2F" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:type="arc" />
    <link:label id="lab_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C_terseLabel_en-US" xlink:label="lab_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">EnShape GmbH [Member]</link:label>
    <link:label id="lab_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C_label_en-US" xlink:label="lab_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">EnShape GmbH [Member]</link:label>
    <link:label id="lab_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C_documentation_en-US" xlink:label="lab_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">EnShape GmbH [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EnShapeGmbHMember" xlink:label="loc_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:to="lab_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:type="arc" />
    <link:label id="lab_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE_terseLabel_en-US" xlink:label="lab_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Chiaro Technologies LLC [Member]</link:label>
    <link:label id="lab_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE_label_en-US" xlink:label="lab_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Chiaro Technologies LLC [Member]</link:label>
    <link:label id="lab_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE_documentation_en-US" xlink:label="lab_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Chiaro Technologies LLC [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:to="lab_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D_periodStartLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliations, Recurring Basis, Liability Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration resulting from acquisitions</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Purchases</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value adjustment</link:label>
    <link:label id="lab_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Fair Value Adjustment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C" xlink:to="lab_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Settlements</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_46A2516483743DA38B191B98AFF0E305_periodEndLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_46A2516483743DA38B191B98AFF0E305" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_46A2516483743DA38B191B98AFF0E305" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_46A2516483743DA38B191B98AFF0E305" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_46A2516483743DA38B191B98AFF0E305" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_32385CA877EA5A7A45961A282EC931DD_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_32385CA877EA5A7A45961A282EC931DD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shareholders&#8217; Equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_32385CA877EA5A7A45961A282EC931DD_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_32385CA877EA5A7A45961A282EC931DD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_32385CA877EA5A7A45961A282EC931DD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_32385CA877EA5A7A45961A282EC931DD" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_32385CA877EA5A7A45961A282EC931DD" xlink:type="arc" />
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_97A31DB6AF70CF8284341A2830C444C3_terseLabel_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_97A31DB6AF70CF8284341A2830C444C3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employee Savings Plan</link:label>
    <link:label id="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_97A31DB6AF70CF8284341A2830C444C3_label_en-US" xlink:label="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_97A31DB6AF70CF8284341A2830C444C3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Pension and Other Postretirement Benefits Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_97A31DB6AF70CF8284341A2830C444C3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_97A31DB6AF70CF8284341A2830C444C3" xlink:to="lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_97A31DB6AF70CF8284341A2830C444C3" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_5D4E7DB4EF2529672AA31A282F45964F_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_5D4E7DB4EF2529672AA31A282F45964F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Assets and Liabilities Measured at Fair Value on a Recurring Basis</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_5D4E7DB4EF2529672AA31A282F45964F_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_5D4E7DB4EF2529672AA31A282F45964F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_5D4E7DB4EF2529672AA31A282F45964F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_5D4E7DB4EF2529672AA31A282F45964F" xlink:to="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_5D4E7DB4EF2529672AA31A282F45964F" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_73670A32EF4556E59AEB1A282F46F2D6_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_73670A32EF4556E59AEB1A282F46F2D6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_73670A32EF4556E59AEB1A282F46F2D6_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_73670A32EF4556E59AEB1A282F46F2D6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_73670A32EF4556E59AEB1A282F46F2D6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_73670A32EF4556E59AEB1A282F46F2D6" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_73670A32EF4556E59AEB1A282F46F2D6" xlink:type="arc" />
    <link:label id="lab_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086_terseLabel_en-US" xlink:label="lab_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Webscan, Inc. [Member]</link:label>
    <link:label id="lab_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086_label_en-US" xlink:label="lab_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Webscan, Inc. [Member]</link:label>
    <link:label id="lab_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086_documentation_en-US" xlink:label="lab_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Webscan, Inc. [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_WebscanInc.Member" xlink:label="loc_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:to="lab_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Purchase price</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Consideration Transferred</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197" xlink:to="lab_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash paid in purchase price</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Gross</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8" xlink:type="arc" />
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F_terseLabel_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets, useful life</link:label>
    <link:label id="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F_label_en-US" xlink:label="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Acquired Finite-lived Intangible Assets, Weighted Average Useful Life</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F" xlink:to="lab_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_718134986687F07495F91E4C4B70AACC_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract_718134986687F07495F91E4C4B70AACC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_718134986687F07495F91E4C4B70AACC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_718134986687F07495F91E4C4B70AACC" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract_718134986687F07495F91E4C4B70AACC" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_641B77959E144F6218AF1E4C4B7142B1_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_641B77959E144F6218AF1E4C4B7142B1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Tax effect of unrealized gain on derivative instruments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_641B77959E144F6218AF1E4C4B7142B1_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_641B77959E144F6218AF1E4C4B7142B1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_641B77959E144F6218AF1E4C4B7142B1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_641B77959E144F6218AF1E4C4B7142B1" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_641B77959E144F6218AF1E4C4B7142B1" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C9BA89431F039C3F0FA71E4C4B7151AA_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C9BA89431F039C3F0FA71E4C4B7151AA" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Tax effect of unrealized gain on available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C9BA89431F039C3F0FA71E4C4B7151AA_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C9BA89431F039C3F0FA71E4C4B7151AA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C9BA89431F039C3F0FA71E4C4B7151AA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C9BA89431F039C3F0FA71E4C4B7151AA" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C9BA89431F039C3F0FA71E4C4B7151AA" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_3B0143D3397D7FA328C01E4C4B712B56_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_3B0143D3397D7FA328C01E4C4B712B56" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax benefit of foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_3B0143D3397D7FA328C01E4C4B712B56_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_3B0143D3397D7FA328C01E4C4B712B56" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_3B0143D3397D7FA328C01E4C4B712B56" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_3B0143D3397D7FA328C01E4C4B712B56" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_3B0143D3397D7FA328C01E4C4B712B56" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentAbstract_6C66CF3DD2E181E26EFA1A282F367EF0_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentAbstract_6C66CF3DD2E181E26EFA1A282F367EF0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_6C66CF3DD2E181E26EFA1A282F367EF0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_6C66CF3DD2E181E26EFA1A282F367EF0" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentAbstract_6C66CF3DD2E181E26EFA1A282F367EF0" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_14A63116798A985167DB1A282F373298_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_14A63116798A985167DB1A282F373298" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, Plant, and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_14A63116798A985167DB1A282F373298_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_14A63116798A985167DB1A282F373298" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_14A63116798A985167DB1A282F373298" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_14A63116798A985167DB1A282F373298" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_14A63116798A985167DB1A282F373298" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Future minimum rental payments under lease agreements</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_F61E51C4C09BBEB090231A2830C14C93_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_F61E51C4C09BBEB090231A2830C14C93" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2016</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_F61E51C4C09BBEB090231A2830C14C93_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_F61E51C4C09BBEB090231A2830C14C93" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Due, Next Twelve Months</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_F61E51C4C09BBEB090231A2830C14C93" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_F61E51C4C09BBEB090231A2830C14C93" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_F61E51C4C09BBEB090231A2830C14C93" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_47C9E0C86F046453BB3F1A2830C1083D_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_47C9E0C86F046453BB3F1A2830C1083D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2017</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_47C9E0C86F046453BB3F1A2830C1083D_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_47C9E0C86F046453BB3F1A2830C1083D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments, Due in Two Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_47C9E0C86F046453BB3F1A2830C1083D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_47C9E0C86F046453BB3F1A2830C1083D" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_47C9E0C86F046453BB3F1A2830C1083D" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_C705DF2B5C19819D2EA01A2830C180CA_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_C705DF2B5C19819D2EA01A2830C180CA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2018</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_C705DF2B5C19819D2EA01A2830C180CA_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_C705DF2B5C19819D2EA01A2830C180CA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments, Due in Three Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_C705DF2B5C19819D2EA01A2830C180CA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_C705DF2B5C19819D2EA01A2830C180CA" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_C705DF2B5C19819D2EA01A2830C180CA" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_B57460F0B047ECD8489B1A2830C1F388_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_B57460F0B047ECD8489B1A2830C1F388" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2019</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_B57460F0B047ECD8489B1A2830C1F388_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_B57460F0B047ECD8489B1A2830C1F388" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments, Due in Four Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_B57460F0B047ECD8489B1A2830C1F388" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_B57460F0B047ECD8489B1A2830C1F388" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_B57460F0B047ECD8489B1A2830C1F388" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_43A12F536ADD4B7909B51A2830C138AB_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_43A12F536ADD4B7909B51A2830C138AB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_43A12F536ADD4B7909B51A2830C138AB_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_43A12F536ADD4B7909B51A2830C138AB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments, Due in Five Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_43A12F536ADD4B7909B51A2830C138AB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_43A12F536ADD4B7909B51A2830C138AB" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_43A12F536ADD4B7909B51A2830C138AB" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_671E621607625B09656A1A2830C1E596_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_671E621607625B09656A1A2830C1E596" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_671E621607625B09656A1A2830C1E596_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_671E621607625B09656A1A2830C1E596" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments, Due Thereafter</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_671E621607625B09656A1A2830C1E596" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_671E621607625B09656A1A2830C1E596" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_671E621607625B09656A1A2830C1E596" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_3318A1C63493A8A78C741A2830C1A2D2_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_3318A1C63493A8A78C741A2830C1A2D2" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_3318A1C63493A8A78C741A2830C1A2D2_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_3318A1C63493A8A78C741A2830C1A2D2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Due</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_3318A1C63493A8A78C741A2830C1A2D2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_3318A1C63493A8A78C741A2830C1A2D2" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_3318A1C63493A8A78C741A2830C1A2D2" xlink:type="arc" />
    <link:label id="lab_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58_terseLabel_en-US" xlink:label="lab_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Litigation Status [Axis]</link:label>
    <link:label id="lab_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58_label_en-US" xlink:label="lab_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Status [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusAxis" xlink:label="loc_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:to="lab_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:type="arc" />
    <link:label id="lab_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56_terseLabel_en-US" xlink:label="lab_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Litigation Status [Domain]</link:label>
    <link:label id="lab_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56_label_en-US" xlink:label="lab_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Status [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusDomain" xlink:label="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:to="lab_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:type="arc" />
    <link:label id="lab_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542_terseLabel_en-US" xlink:label="lab_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Settled Litigation [Member]</link:label>
    <link:label id="lab_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542_label_en-US" xlink:label="lab_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Settled Litigation [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SettledLitigationMember" xlink:label="loc_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542" xlink:to="lab_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542" xlink:type="arc" />
    <link:label id="lab_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B_terseLabel_en-US" xlink:label="lab_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Litigation Case [Axis]</link:label>
    <link:label id="lab_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B_label_en-US" xlink:label="lab_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Case [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseAxis" xlink:label="loc_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:to="lab_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:type="arc" />
    <link:label id="lab_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330_terseLabel_en-US" xlink:label="lab_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Litigation Case [Domain]</link:label>
    <link:label id="lab_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330_label_en-US" xlink:label="lab_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Case [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseTypeDomain" xlink:label="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:to="lab_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:type="arc" />
    <link:label id="lab_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7_terseLabel_en-US" xlink:label="lab_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">AMETEK Matter [Member]</link:label>
    <link:label id="lab_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7_label_en-US" xlink:label="lab_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AMETEK Matter [Member]</link:label>
    <link:label id="lab_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7_documentation_en-US" xlink:label="lab_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">AMETEK Matter [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AMETEKMatterMember" xlink:label="loc_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:to="lab_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:type="arc" />
    <link:label id="lab_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loss Contingency Nature [Axis]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F_label_en-US" xlink:label="lab_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingency Nature [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:to="lab_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:type="arc" />
    <link:label id="lab_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loss Contingency, Nature [Domain]</link:label>
    <link:label id="lab_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143_label_en-US" xlink:label="lab_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingency, Nature [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:to="lab_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:type="arc" />
    <link:label id="lab_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F_terseLabel_en-US" xlink:label="lab_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Guarantee Obligations [Member]</link:label>
    <link:label id="lab_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F_label_en-US" xlink:label="lab_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Guarantee Obligations [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GuaranteeObligationsMember" xlink:label="loc_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F" xlink:to="lab_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Activities [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77_label_en-US" xlink:label="lab_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Activities [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOperatingActivitiesSegmentAxis" xlink:label="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:to="lab_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:type="arc" />
    <link:label id="lab_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Activities [Domain]</link:label>
    <link:label id="lab_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D_label_en-US" xlink:label="lab_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Activities [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentOperatingActivitiesDomain" xlink:label="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:to="lab_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D_terseLabel_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal group, including discontinued operation, consideration</link:label>
    <link:label id="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D_label_en-US" xlink:label="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operation, Consideration</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D" xlink:to="lab_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D" xlink:type="arc" />
    <link:label id="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608_terseLabel_en-US" xlink:label="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposal group, including discontinued operations, transaction costs</link:label>
    <link:label id="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608_label_en-US" xlink:label="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operations, Transaction Costs</link:label>
    <link:label id="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608_documentation_en-US" xlink:label="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Disposal Group, Including Discontinued Operations, Transaction Costs</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:to="lab_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:type="arc" />
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B_verboseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Allocated Share-based Compensation Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B" xlink:type="arc" />
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85_terseLabel_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense on discontinued operations</link:label>
    <link:label id="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85_label_en-US" xlink:label="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Discontinued Operation, Tax Effect of Gain (Loss) from Disposal of Discontinued Operation</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85" xlink:to="lab_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85" xlink:type="arc" />
    <link:label id="lab_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5_terseLabel_en-US" xlink:label="lab_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loss contingency, damages awarded, refund of product purchase price, value</link:label>
    <link:label id="lab_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5_label_en-US" xlink:label="lab_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingency, Damages Awarded, Refund Of Product Purchase Price, Value</link:label>
    <link:label id="lab_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5_documentation_en-US" xlink:label="lab_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Loss Contingency, Damages Awarded, Refund Of Product Purchase Price, Value</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:to="lab_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:type="arc" />
    <link:label id="lab_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20_terseLabel_en-US" xlink:label="lab_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loss contingency, damages awarded, reimbursement of legal fees, value</link:label>
    <link:label id="lab_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20_label_en-US" xlink:label="lab_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingency, Damages Awarded, Reimbursement Of Legal Fees, Value</link:label>
    <link:label id="lab_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20_documentation_en-US" xlink:label="lab_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Loss Contingency, Damages Awarded, Reimbursement Of Legal Fees, Value</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:to="lab_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:type="arc" />
    <link:label id="lab_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB_terseLabel_en-US" xlink:label="lab_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Litigation settlement, amount</link:label>
    <link:label id="lab_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB_label_en-US" xlink:label="lab_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Litigation Settlement, Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationSettlementAmount" xlink:label="loc_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB" xlink:to="lab_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB" xlink:type="arc" />
    <link:label id="lab_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA_terseLabel_en-US" xlink:label="lab_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Legal Fees</link:label>
    <link:label id="lab_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA_label_en-US" xlink:label="lab_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Fees</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LegalFees" xlink:label="loc_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA" xlink:to="lab_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_8C6740258F74F1F5A8501E4C4783BDC0_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_8C6740258F74F1F5A8501E4C4783BDC0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income (loss) from discontinued operations (Note 19)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_8C6740258F74F1F5A8501E4C4783BDC0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_8C6740258F74F1F5A8501E4C4783BDC0" xlink:to="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_8C6740258F74F1F5A8501E4C4783BDC0" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977_terseLabel_en-US" xlink:label="lab_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977_label_en-US" xlink:label="lab_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="loc_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:to="lab_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E_terseLabel_en-US" xlink:label="lab_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Scenario, Unspecified [Domain]</link:label>
    <link:label id="lab_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E_label_en-US" xlink:label="lab_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario, Unspecified [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:to="lab_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A_terseLabel_en-US" xlink:label="lab_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Scenario, Forecast [Member]</link:label>
    <link:label id="lab_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A_label_en-US" xlink:label="lab_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Scenario, Forecast [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScenarioForecastMember" xlink:label="loc_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A" xlink:to="lab_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_3145AE1FF07BF8587A061B98AE926FCF_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_3145AE1FF07BF8587A061B98AE926FCF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3145AE1FF07BF8587A061B98AE926FCF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3145AE1FF07BF8587A061B98AE926FCF" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_3145AE1FF07BF8587A061B98AE926FCF" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration, low range</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, Low</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration, high range</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revaluation of contingent consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:label id="lab_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41_label_en-US" xlink:label="lab_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments for Previous Acquisition</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForPreviousAcquisition" xlink:label="loc_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41" xlink:to="lab_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration, current</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration, noncurrent</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:type="arc" />
    <link:label id="lab_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:to="lab_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Award [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Award [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employee Stock Option [Member]</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Stock Option [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C" xlink:to="lab_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Risk-free rate</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected dividend yield</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected volatility</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected term (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:to="lab_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:type="arc" />
    <link:label id="lab_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028_terseLabel_en-US" xlink:label="lab_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">AQSense, S.L. [Member]</link:label>
    <link:label id="lab_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028_label_en-US" xlink:label="lab_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AQSense, S.L. [Member]</link:label>
    <link:label id="lab_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028_documentation_en-US" xlink:label="lab_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">AQSense, S.L. [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AQSenseS.L.Member" xlink:label="loc_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:to="lab_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:type="arc" />
    <link:label id="lab_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:label id="lab_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8_label_en-US" xlink:label="lab_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:to="lab_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:type="arc" />
    <link:label id="lab_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3_label_en-US" xlink:label="lab_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillRollForward" xlink:label="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:to="lab_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:type="arc" />
    <link:label id="lab_us-gaap_Goodwill_2A227F0618D306A8A1551E4C4A015F9E_periodStartLabel_en-US" xlink:label="lab_us-gaap_Goodwill_2A227F0618D306A8A1551E4C4A015F9E" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Goodwill, Beginning Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_2A227F0618D306A8A1551E4C4A015F9E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill_2A227F0618D306A8A1551E4C4A015F9E" xlink:to="lab_us-gaap_Goodwill_2A227F0618D306A8A1551E4C4A015F9E" xlink:type="arc" />
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill acquired during the period</link:label>
    <link:label id="lab_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9_label_en-US" xlink:label="lab_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill, Acquired During Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9" xlink:to="lab_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9" xlink:type="arc" />
    <link:label id="lab_us-gaap_Goodwill_54614D87F76AE4580EF51E4C4A02C8C7_periodEndLabel_en-US" xlink:label="lab_us-gaap_Goodwill_54614D87F76AE4580EF51E4C4A02C8C7" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Goodwill, Ending Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_54614D87F76AE4580EF51E4C4A02C8C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill_54614D87F76AE4580EF51E4C4A02C8C7" xlink:to="lab_us-gaap_Goodwill_54614D87F76AE4580EF51E4C4A02C8C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_E549B8381B571E1A4AD31A2830D0AD5C_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock_E549B8381B571E1A4AD31A2830D0AD5C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_E549B8381B571E1A4AD31A2830D0AD5C_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock_E549B8381B571E1A4AD31A2830D0AD5C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_E549B8381B571E1A4AD31A2830D0AD5C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock_E549B8381B571E1A4AD31A2830D0AD5C" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock_E549B8381B571E1A4AD31A2830D0AD5C" xlink:type="arc" />
    <link:label id="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D_negatedTerseLabel_en-US" xlink:label="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D_label_en-US" xlink:label="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accrued Expenses</link:label>
    <link:label id="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D_documentation_en-US" xlink:label="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accrued Expenses</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:to="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisposals_4FFF1A3769BF2113245C1A282FDA5BAA_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisposals_4FFF1A3769BF2113245C1A282FDA5BAA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disposals in period</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentDisposals_4FFF1A3769BF2113245C1A282FDA5BAA_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentDisposals_4FFF1A3769BF2113245C1A282FDA5BAA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Disposals</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisposals" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisposals_4FFF1A3769BF2113245C1A282FDA5BAA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentDisposals_4FFF1A3769BF2113245C1A282FDA5BAA" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentDisposals_4FFF1A3769BF2113245C1A282FDA5BAA" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross_24C5736ACEC432A8B5041A282FDAD752_terseLabel_en-US" xlink:label="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross_24C5736ACEC432A8B5041A282FDAD752" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Buildings include rental property</link:label>
    <link:label id="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross_24C5736ACEC432A8B5041A282FDAD752_label_en-US" xlink:label="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross_24C5736ACEC432A8B5041A282FDAD752" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property Subject to or Available for Operating Lease, Gross</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross_24C5736ACEC432A8B5041A282FDAD752" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross_24C5736ACEC432A8B5041A282FDAD752" xlink:to="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross_24C5736ACEC432A8B5041A282FDAD752" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation_E848F7AC76C94335AED31A282FDAF6C6_terseLabel_en-US" xlink:label="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation_E848F7AC76C94335AED31A282FDAF6C6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated depreciation</link:label>
    <link:label id="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation_E848F7AC76C94335AED31A282FDAF6C6_label_en-US" xlink:label="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation_E848F7AC76C94335AED31A282FDAF6C6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property Subject to or Available for Operating Lease, Accumulated Depreciation</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation_E848F7AC76C94335AED31A282FDAF6C6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation_E848F7AC76C94335AED31A282FDAF6C6" xlink:to="lab_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation_E848F7AC76C94335AED31A282FDAF6C6" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_3BE8495554B9E57586CF1A282FF388FC_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract_3BE8495554B9E57586CF1A282FF388FC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_3BE8495554B9E57586CF1A282FF388FC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_3BE8495554B9E57586CF1A282FF388FC" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract_3BE8495554B9E57586CF1A282FF388FC" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:to="lab_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:to="lab_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DC6E0FB1FBAD9B234941A282FF4C5CB_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DC6E0FB1FBAD9B234941A282FF4C5CB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DC6E0FB1FBAD9B234941A282FF4C5CB_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DC6E0FB1FBAD9B234941A282FF4C5CB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DC6E0FB1FBAD9B234941A282FF4C5CB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DC6E0FB1FBAD9B234941A282FF4C5CB" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DC6E0FB1FBAD9B234941A282FF4C5CB" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C0A10A911EFAA972CE601A282FF42A5A_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C0A10A911EFAA972CE601A282FF42A5A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Short-term investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C0A10A911EFAA972CE601A282FF42A5A_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C0A10A911EFAA972CE601A282FF42A5A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Securities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C0A10A911EFAA972CE601A282FF42A5A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C0A10A911EFAA972CE601A282FF42A5A" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C0A10A911EFAA972CE601A282FF42A5A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_64D6807C724C1F50D5D51A282FF49A34_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent_64D6807C724C1F50D5D51A282FF49A34" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, less reserves of $873 and $736 in 2016 and 2015, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_64D6807C724C1F50D5D51A282FF49A34_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent_64D6807C724C1F50D5D51A282FF49A34" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Net, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_64D6807C724C1F50D5D51A282FF49A34" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_64D6807C724C1F50D5D51A282FF49A34" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent_64D6807C724C1F50D5D51A282FF49A34" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnbilledReceivablesCurrent_D0156B6B02030E3FAC4F1A282FF4B8F0_terseLabel_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent_D0156B6B02030E3FAC4F1A282FF4B8F0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unbilled revenue</link:label>
    <link:label id="lab_us-gaap_UnbilledReceivablesCurrent_D0156B6B02030E3FAC4F1A282FF4B8F0_label_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent_D0156B6B02030E3FAC4F1A282FF4B8F0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unbilled Receivables, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_D0156B6B02030E3FAC4F1A282FF4B8F0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnbilledReceivablesCurrent_D0156B6B02030E3FAC4F1A282FF4B8F0" xlink:to="lab_us-gaap_UnbilledReceivablesCurrent_D0156B6B02030E3FAC4F1A282FF4B8F0" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryNet_F1FDE7644A9BCEAB76E11A282FF431C9_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet_F1FDE7644A9BCEAB76E11A282FF431C9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_F1FDE7644A9BCEAB76E11A282FF431C9_label_en-US" xlink:label="lab_us-gaap_InventoryNet_F1FDE7644A9BCEAB76E11A282FF431C9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_F1FDE7644A9BCEAB76E11A282FF431C9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet_F1FDE7644A9BCEAB76E11A282FF431C9" xlink:to="lab_us-gaap_InventoryNet_F1FDE7644A9BCEAB76E11A282FF431C9" xlink:type="arc" />
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_AD633AE9DF3856881DA51A282FF41835_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_AD633AE9DF3856881DA51A282FF41835" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_AD633AE9DF3856881DA51A282FF41835_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_AD633AE9DF3856881DA51A282FF41835" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_AD633AE9DF3856881DA51A282FF41835" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_AD633AE9DF3856881DA51A282FF41835" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_AD633AE9DF3856881DA51A282FF41835" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsCurrent_568742699C103C52586F1A282FF445C3_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent_568742699C103C52586F1A282FF445C3" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_568742699C103C52586F1A282FF445C3_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent_568742699C103C52586F1A282FF445C3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_568742699C103C52586F1A282FF445C3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent_568742699C103C52586F1A282FF445C3" xlink:to="lab_us-gaap_AssetsCurrent_568742699C103C52586F1A282FF445C3" xlink:type="arc" />
    <link:label id="lab_us-gaap_LongTermInvestments_35401F58355B8D6D0E351A282FF464A1_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermInvestments_35401F58355B8D6D0E351A282FF464A1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-term investments</link:label>
    <link:label id="lab_us-gaap_LongTermInvestments_35401F58355B8D6D0E351A282FF464A1_label_en-US" xlink:label="lab_us-gaap_LongTermInvestments_35401F58355B8D6D0E351A282FF464A1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_35401F58355B8D6D0E351A282FF464A1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermInvestments_35401F58355B8D6D0E351A282FF464A1" xlink:to="lab_us-gaap_LongTermInvestments_35401F58355B8D6D0E351A282FF464A1" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_C081DAC605846E5A4AE11A282FF43419_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet_C081DAC605846E5A4AE11A282FF43419" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, plant, and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_C081DAC605846E5A4AE11A282FF43419_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet_C081DAC605846E5A4AE11A282FF43419" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_C081DAC605846E5A4AE11A282FF43419" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_C081DAC605846E5A4AE11A282FF43419" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet_C081DAC605846E5A4AE11A282FF43419" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_89ECCF5E96F26F0EC3311A282FF5E65C_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_89ECCF5E96F26F0EC3311A282FF5E65C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets, net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_89ECCF5E96F26F0EC3311A282FF5E65C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_89ECCF5E96F26F0EC3311A282FF5E65C" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet_89ECCF5E96F26F0EC3311A282FF5E65C" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_7396298311410FC1EDCF1A282FF528E3_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_7396298311410FC1EDCF1A282FF528E3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_7396298311410FC1EDCF1A282FF528E3_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_7396298311410FC1EDCF1A282FF528E3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_7396298311410FC1EDCF1A282FF528E3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_7396298311410FC1EDCF1A282FF528E3" xlink:to="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_7396298311410FC1EDCF1A282FF528E3" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_BC8C88E33FD5B6B94D651A282FF5D759_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent_BC8C88E33FD5B6B94D651A282FF5D759" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_BC8C88E33FD5B6B94D651A282FF5D759_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent_BC8C88E33FD5B6B94D651A282FF5D759" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_BC8C88E33FD5B6B94D651A282FF5D759" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent_BC8C88E33FD5B6B94D651A282FF5D759" xlink:to="lab_us-gaap_OtherAssetsNoncurrent_BC8C88E33FD5B6B94D651A282FF5D759" xlink:type="arc" />
    <link:label id="lab_us-gaap_Assets_CF6B00A390CFBB294B0F1A282FF500E1_totalLabel_en-US" xlink:label="lab_us-gaap_Assets_CF6B00A390CFBB294B0F1A282FF500E1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_CF6B00A390CFBB294B0F1A282FF500E1_label_en-US" xlink:label="lab_us-gaap_Assets_CF6B00A390CFBB294B0F1A282FF500E1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_CF6B00A390CFBB294B0F1A282FF500E1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets_CF6B00A390CFBB294B0F1A282FF500E1" xlink:to="lab_us-gaap_Assets_CF6B00A390CFBB294B0F1A282FF500E1" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountsPayableCurrent_67AF2C4F24EA14EB4B7C1A282FF5E0D3_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent_67AF2C4F24EA14EB4B7C1A282FF5E0D3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_67AF2C4F24EA14EB4B7C1A282FF5E0D3_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent_67AF2C4F24EA14EB4B7C1A282FF5E0D3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_67AF2C4F24EA14EB4B7C1A282FF5E0D3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent_67AF2C4F24EA14EB4B7C1A282FF5E0D3" xlink:to="lab_us-gaap_AccountsPayableCurrent_67AF2C4F24EA14EB4B7C1A282FF5E0D3" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_237250EBC9A16276C08C1A282FF50AE5_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent_237250EBC9A16276C08C1A282FF50AE5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_237250EBC9A16276C08C1A282FF50AE5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_237250EBC9A16276C08C1A282FF50AE5" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent_237250EBC9A16276C08C1A282FF50AE5" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_DD14A60DABB309E0CCC41A282FF564B7_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent_DD14A60DABB309E0CCC41A282FF564B7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_DD14A60DABB309E0CCC41A282FF564B7_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent_DD14A60DABB309E0CCC41A282FF564B7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Income Taxes, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_DD14A60DABB309E0CCC41A282FF564B7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxesCurrent_DD14A60DABB309E0CCC41A282FF564B7" xlink:to="lab_us-gaap_AccruedIncomeTaxesCurrent_DD14A60DABB309E0CCC41A282FF564B7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredRevenueAndCreditsCurrent_68872E406FFDFE4972531A282FF56AAA_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueAndCreditsCurrent_68872E406FFDFE4972531A282FF56AAA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueAndCreditsCurrent_68872E406FFDFE4972531A282FF56AAA_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueAndCreditsCurrent_68872E406FFDFE4972531A282FF56AAA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Revenue and Credits, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_68872E406FFDFE4972531A282FF56AAA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueAndCreditsCurrent_68872E406FFDFE4972531A282FF56AAA" xlink:to="lab_us-gaap_DeferredRevenueAndCreditsCurrent_68872E406FFDFE4972531A282FF56AAA" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesCurrent_A7DFCA2E1489564AD3511A282FF5DE8B_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent_A7DFCA2E1489564AD3511A282FF5DE8B" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_A7DFCA2E1489564AD3511A282FF5DE8B_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent_A7DFCA2E1489564AD3511A282FF5DE8B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_A7DFCA2E1489564AD3511A282FF5DE8B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent_A7DFCA2E1489564AD3511A282FF5DE8B" xlink:to="lab_us-gaap_LiabilitiesCurrent_A7DFCA2E1489564AD3511A282FF5DE8B" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_E8A684E968E85402F4AB1A282FF5C7F5_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_E8A684E968E85402F4AB1A282FF5C7F5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_E8A684E968E85402F4AB1A282FF5C7F5_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_E8A684E968E85402F4AB1A282FF5C7F5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_E8A684E968E85402F4AB1A282FF5C7F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_E8A684E968E85402F4AB1A282FF5C7F5" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_E8A684E968E85402F4AB1A282FF5C7F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_029D4CD0B3D4B56E3ADC1A282FF5C725_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_029D4CD0B3D4B56E3ADC1A282FF5C725" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reserve for income taxes</link:label>
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_029D4CD0B3D4B56E3ADC1A282FF5C725_label_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_029D4CD0B3D4B56E3ADC1A282FF5C725" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liability for Uncertainty in Income Taxes, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_029D4CD0B3D4B56E3ADC1A282FF5C725" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_029D4CD0B3D4B56E3ADC1A282FF5C725" xlink:to="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_029D4CD0B3D4B56E3ADC1A282FF5C725" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_6CDEFC3216181348E2F21A282FF6620A_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent_6CDEFC3216181348E2F21A282FF6620A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other non-current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_6CDEFC3216181348E2F21A282FF6620A_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent_6CDEFC3216181348E2F21A282FF6620A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_6CDEFC3216181348E2F21A282FF6620A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent_6CDEFC3216181348E2F21A282FF6620A" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent_6CDEFC3216181348E2F21A282FF6620A" xlink:type="arc" />
    <link:label id="lab_us-gaap_Liabilities_EE671F1FD0F1A75F91BD1A282FF683A6_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities_EE671F1FD0F1A75F91BD1A282FF683A6" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_EE671F1FD0F1A75F91BD1A282FF683A6_label_en-US" xlink:label="lab_us-gaap_Liabilities_EE671F1FD0F1A75F91BD1A282FF683A6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_EE671F1FD0F1A75F91BD1A282FF683A6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities_EE671F1FD0F1A75F91BD1A282FF683A6" xlink:to="lab_us-gaap_Liabilities_EE671F1FD0F1A75F91BD1A282FF683A6" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_BB87C87B7CAFDA8E6F011A282FF6EDC3_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies_BB87C87B7CAFDA8E6F011A282FF6EDC3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Commitments and contingencies (Note 10)</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_BB87C87B7CAFDA8E6F011A282FF6EDC3_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies_BB87C87B7CAFDA8E6F011A282FF6EDC3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaap_CommitmentsAndContingencies_BB87C87B7CAFDA8E6F011A282FF6EDC3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies_BB87C87B7CAFDA8E6F011A282FF6EDC3" xlink:to="lab_us-gaap_CommitmentsAndContingencies_BB87C87B7CAFDA8E6F011A282FF6EDC3" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shareholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:to="lab_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_8254ECFEA9D2B6C9A9521A282FF62A11_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding_8254ECFEA9D2B6C9A9521A282FF62A11" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, $.002 par value &#8211; Authorized: 200,000 and 140,000 shares in 2016 and 2015, respectively, issued and outstanding: 85,939 and 84,856 shares in 2016 and 2015, respectively</link:label>
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_8254ECFEA9D2B6C9A9521A282FF62A11_label_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding_8254ECFEA9D2B6C9A9521A282FF62A11" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Value, Outstanding</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_8254ECFEA9D2B6C9A9521A282FF62A11" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValueOutstanding_8254ECFEA9D2B6C9A9521A282FF62A11" xlink:to="lab_us-gaap_CommonStockValueOutstanding_8254ECFEA9D2B6C9A9521A282FF62A11" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_20D810F30A58415BC46A1A282FF69587_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock_20D810F30A58415BC46A1A282FF69587" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_20D810F30A58415BC46A1A282FF69587_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock_20D810F30A58415BC46A1A282FF69587" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_20D810F30A58415BC46A1A282FF69587" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock_20D810F30A58415BC46A1A282FF69587" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock_20D810F30A58415BC46A1A282FF69587" xlink:type="arc" />
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_07CEB0A033E3660ECC5B1A282FF6DF23_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit_07CEB0A033E3660ECC5B1A282FF6DF23" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retained earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_07CEB0A033E3660ECC5B1A282FF6DF23_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit_07CEB0A033E3660ECC5B1A282FF6DF23" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_07CEB0A033E3660ECC5B1A282FF6DF23" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit_07CEB0A033E3660ECC5B1A282FF6DF23" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit_07CEB0A033E3660ECC5B1A282FF6DF23" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_11579C6BEA24A4E7DA551A282FF63017_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_11579C6BEA24A4E7DA551A282FF63017" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive loss, net of tax</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_11579C6BEA24A4E7DA551A282FF63017_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_11579C6BEA24A4E7DA551A282FF63017" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_11579C6BEA24A4E7DA551A282FF63017" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_11579C6BEA24A4E7DA551A282FF63017" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_11579C6BEA24A4E7DA551A282FF63017" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_E2475ACF2D7E463EC0A81A282FF6DCF4_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_E2475ACF2D7E463EC0A81A282FF6DCF4" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total shareholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_E2475ACF2D7E463EC0A81A282FF6DCF4_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity_E2475ACF2D7E463EC0A81A282FF6DCF4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_E2475ACF2D7E463EC0A81A282FF6DCF4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_E2475ACF2D7E463EC0A81A282FF6DCF4" xlink:to="lab_us-gaap_StockholdersEquity_E2475ACF2D7E463EC0A81A282FF6DCF4" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_3C18B49CFE853685A4F81A282FF6EDA7_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity_3C18B49CFE853685A4F81A282FF6EDA7" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities and shareholders' equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_3C18B49CFE853685A4F81A282FF6EDA7_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity_3C18B49CFE853685A4F81A282FF6EDA7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_3C18B49CFE853685A4F81A282FF6EDA7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_3C18B49CFE853685A4F81A282FF6EDA7" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity_3C18B49CFE853685A4F81A282FF6EDA7" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_A2F972A0CEACEF33A5C01A2830C79A25_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_A2F972A0CEACEF33A5C01A2830C79A25" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash, Cash Equivalents, and Investments</link:label>
    <link:label id="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_A2F972A0CEACEF33A5C01A2830C79A25_label_en-US" xlink:label="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_A2F972A0CEACEF33A5C01A2830C79A25" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock" xlink:label="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_A2F972A0CEACEF33A5C01A2830C79A25" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_A2F972A0CEACEF33A5C01A2830C79A25" xlink:to="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_A2F972A0CEACEF33A5C01A2830C79A25" xlink:type="arc" />
    <link:label id="lab_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052_terseLabel_en-US" xlink:label="lab_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Land [Member]</link:label>
    <link:label id="lab_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052_label_en-US" xlink:label="lab_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Land [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LandMember" xlink:label="loc_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052" xlink:to="lab_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052" xlink:type="arc" />
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA_verboseLabel_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:label id="lab_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA_label_en-US" xlink:label="lab_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA" xlink:to="lab_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA" xlink:type="arc" />
    <link:label id="lab_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580_terseLabel_en-US" xlink:label="lab_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hardware And Software [Member]</link:label>
    <link:label id="lab_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580_label_en-US" xlink:label="lab_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hardware And Software [Member]</link:label>
    <link:label id="lab_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580_documentation_en-US" xlink:label="lab_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Hardware and software.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_HardwareAndSoftwareMember" xlink:label="loc_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:to="lab_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquipmentMember_46A1DFCA1250FA7E7C2D1A28302E4857_terseLabel_en-US" xlink:label="lab_us-gaap_EquipmentMember_46A1DFCA1250FA7E7C2D1A28302E4857" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equipment [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaap_EquipmentMember_46A1DFCA1250FA7E7C2D1A28302E4857" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquipmentMember_46A1DFCA1250FA7E7C2D1A28302E4857" xlink:to="lab_us-gaap_EquipmentMember_46A1DFCA1250FA7E7C2D1A28302E4857" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, Plant and equipment, gross</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Gross</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438_negatedLabel_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Less: accumulated depreciation</link:label>
    <link:label id="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438_label_en-US" xlink:label="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438" xlink:to="lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_346099C53900E63065371A28302E15F5_totalLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet_346099C53900E63065371A28302E15F5" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Net, Total</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_346099C53900E63065371A28302E15F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_346099C53900E63065371A28302E15F5" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet_346099C53900E63065371A28302E15F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_DistributionRightsMember_B86D0586E4A27667C5AE1A2830CE8667_verboseLabel_en-US" xlink:label="lab_us-gaap_DistributionRightsMember_B86D0586E4A27667C5AE1A2830CE8667" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Distribution Rights [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_B86D0586E4A27667C5AE1A2830CE8667" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DistributionRightsMember_B86D0586E4A27667C5AE1A2830CE8667" xlink:to="lab_us-gaap_DistributionRightsMember_B86D0586E4A27667C5AE1A2830CE8667" xlink:type="arc" />
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_F9FC066D7F6ACA3C67801A2830CEE235_verboseLabel_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_F9FC066D7F6ACA3C67801A2830CEE235" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Customer Contracts And Relationships [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_F9FC066D7F6ACA3C67801A2830CEE235" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CustomerContractsAndRelationshipsMember_F9FC066D7F6ACA3C67801A2830CEE235" xlink:to="lab_cgnx_CustomerContractsAndRelationshipsMember_F9FC066D7F6ACA3C67801A2830CEE235" xlink:type="arc" />
    <link:label id="lab_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44_terseLabel_en-US" xlink:label="lab_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Completed Technologies And Other Intangible Assets [Member]</link:label>
    <link:label id="lab_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44_label_en-US" xlink:label="lab_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Completed Technologies And Other Intangible Assets [Member]</link:label>
    <link:label id="lab_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44_documentation_en-US" xlink:label="lab_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Completed Technologies And Other Intangible Assets [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember" xlink:label="loc_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:to="lab_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3" xlink:type="arc" />
    <link:label id="lab_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A_label_en-US" xlink:label="lab_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingencies [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="lab_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:type="arc" />
    <link:label id="lab_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B_terseLabel_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
    <link:label id="lab_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B_label_en-US" xlink:label="lab_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Loss Contingencies [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:to="lab_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Net Gain (Loss) from Designated or Qualifying Cash Flow Hedges [Member]</link:label>
    <link:label id="lab_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315_label_en-US" xlink:label="lab_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Net Gain (Loss) from Cash Flow Hedges Attributable to Parent [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" xlink:label="loc_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315" xlink:to="lab_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315" xlink:type="arc" />
    <link:label id="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219_terseLabel_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219_label_en-US" xlink:label="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AOCI Attributable to Parent, Net of Tax [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:to="lab_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_B74AAB6EE958EAB956691A282ECD54DE_periodStartLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_B74AAB6EE958EAB956691A282ECD54DE" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_B74AAB6EE958EAB956691A282ECD54DE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_B74AAB6EE958EAB956691A282ECD54DE" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_B74AAB6EE958EAB956691A282ECD54DE" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized loss on cash flow hedges</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621_terseLabel_en-US" xlink:label="lab_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reclassification of net realized loss on cash flow hedges into current operations</link:label>
    <link:label id="lab_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621_label_en-US" xlink:label="lab_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="loc_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621" xlink:to="lab_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_119BF1B0C974F69A8FA51A282ED334EF_periodEndLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_119BF1B0C974F69A8FA51A282ED334EF" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_119BF1B0C974F69A8FA51A282ED334EF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_119BF1B0C974F69A8FA51A282ED334EF" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_119BF1B0C974F69A8FA51A282ED334EF" xlink:type="arc" />
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_DB515F17566F50437A5F1A283045874E_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_DB515F17566F50437A5F1A283045874E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible Assets</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_DB515F17566F50437A5F1A283045874E_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_DB515F17566F50437A5F1A283045874E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_DB515F17566F50437A5F1A283045874E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_DB515F17566F50437A5F1A283045874E" xlink:to="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_DB515F17566F50437A5F1A283045874E" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountingChangesAndErrorCorrectionsAbstract_948B5A8EE23A9B660A8F1A2830FC8104_label_en-US" xlink:label="lab_us-gaap_AccountingChangesAndErrorCorrectionsAbstract_948B5A8EE23A9B660A8F1A2830FC8104" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Changes and Error Corrections [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="loc_us-gaap_AccountingChangesAndErrorCorrectionsAbstract_948B5A8EE23A9B660A8F1A2830FC8104" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingChangesAndErrorCorrectionsAbstract_948B5A8EE23A9B660A8F1A2830FC8104" xlink:to="lab_us-gaap_AccountingChangesAndErrorCorrectionsAbstract_948B5A8EE23A9B660A8F1A2830FC8104" xlink:type="arc" />
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_328205C4CDAEDCF03F481A2830FC9CB3_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_328205C4CDAEDCF03F481A2830FC9CB3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">New Pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_328205C4CDAEDCF03F481A2830FC9CB3_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_328205C4CDAEDCF03F481A2830FC9CB3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements and Changes in Accounting Principles [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_328205C4CDAEDCF03F481A2830FC9CB3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_328205C4CDAEDCF03F481A2830FC9CB3" xlink:to="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_328205C4CDAEDCF03F481A2830FC9CB3" xlink:type="arc" />
    <link:label id="lab_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA_terseLabel_en-US" xlink:label="lab_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash balance included foreign bank balance</link:label>
    <link:label id="lab_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA_label_en-US" xlink:label="lab_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Due From Foreign Banks</link:label>
    <link:label id="lab_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA_documentation_en-US" xlink:label="lab_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Due from foreign banks.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DueFromForeignBanks" xlink:label="loc_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:to="lab_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross realized gains on sale of debt securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Gross Realized Gains</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedGains" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross realized losses on sale of debt securities</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Gross Realized Losses</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0" xlink:type="arc" />
    <link:label id="lab_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA_terseLabel_en-US" xlink:label="lab_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum amount committed to invest in limited partnership</link:label>
    <link:label id="lab_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA_label_en-US" xlink:label="lab_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Investment In Limited Partnership</link:label>
    <link:label id="lab_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA_documentation_en-US" xlink:label="lab_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Maximum amount committed to invest in limited partnership.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MaximumInvestmentInLimitedPartnership" xlink:label="loc_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:to="lab_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:type="arc" />
    <link:label id="lab_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244_terseLabel_en-US" xlink:label="lab_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contribution to limited partnership</link:label>
    <link:label id="lab_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244_label_en-US" xlink:label="lab_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contribution To Limited Partnership</link:label>
    <link:label id="lab_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244_documentation_en-US" xlink:label="lab_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contribution to limited partnership.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ContributionToLimitedPartnership" xlink:label="loc_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:to="lab_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:type="arc" />
    <link:label id="lab_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23_terseLabel_en-US" xlink:label="lab_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Remaining amount of commitment in limited partnership</link:label>
    <link:label id="lab_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23_label_en-US" xlink:label="lab_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Remaining Amount Of Commitment</link:label>
    <link:label id="lab_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23_documentation_en-US" xlink:label="lab_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Remaining amount of commitment in limited partnership.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RemainingAmountOfCommitment" xlink:label="loc_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:to="lab_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:type="arc" />
    <link:label id="lab_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8_terseLabel_en-US" xlink:label="lab_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contributions made during the year</link:label>
    <link:label id="lab_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8_label_en-US" xlink:label="lab_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Contribution Made To Partnership During Period</link:label>
    <link:label id="lab_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8_documentation_en-US" xlink:label="lab_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Contribution made to partnership during period.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ContributionMadeToPartnershipDuringPeriod" xlink:label="loc_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:to="lab_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Proceeds from Limited Partnership Investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E_label_en-US" xlink:label="lab_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Limited Partnership Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProceedsFromLimitedPartnershipInvestments" xlink:label="loc_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E" xlink:to="lab_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65_terseLabel_en-US" xlink:label="lab_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Carrying value of investment</link:label>
    <link:label id="lab_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65_label_en-US" xlink:label="lab_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost Method Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostMethodInvestments" xlink:label="loc_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65" xlink:to="lab_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65" xlink:type="arc" />
    <link:label id="lab_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529_terseLabel_en-US" xlink:label="lab_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Return of capital</link:label>
    <link:label id="lab_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529_label_en-US" xlink:label="lab_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Partners' Capital Account, Return of Capital</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PartnersCapitalAccountReturnOfCapital" xlink:label="loc_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529" xlink:to="lab_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139_terseLabel_en-US" xlink:label="lab_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cost method investment, investment income</link:label>
    <link:label id="lab_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139_label_en-US" xlink:label="lab_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost-method Investments, Realized Gains</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostMethodInvestmentsRealizedGains" xlink:label="loc_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139" xlink:to="lab_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_527FF9EA6420815DCEE71A2830F24F7D_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_527FF9EA6420815DCEE71A2830F24F7D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2016</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_527FF9EA6420815DCEE71A2830F24F7D_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_527FF9EA6420815DCEE71A2830F24F7D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_527FF9EA6420815DCEE71A2830F24F7D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_527FF9EA6420815DCEE71A2830F24F7D" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_527FF9EA6420815DCEE71A2830F24F7D" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36109BD4595414D4E6351A2830F2A06C_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36109BD4595414D4E6351A2830F2A06C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2017</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36109BD4595414D4E6351A2830F2A06C_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36109BD4595414D4E6351A2830F2A06C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36109BD4595414D4E6351A2830F2A06C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36109BD4595414D4E6351A2830F2A06C" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36109BD4595414D4E6351A2830F2A06C" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_168A63328B159178BDA41A2830F25BD1_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_168A63328B159178BDA41A2830F25BD1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2018</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_168A63328B159178BDA41A2830F25BD1_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_168A63328B159178BDA41A2830F25BD1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_168A63328B159178BDA41A2830F25BD1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_168A63328B159178BDA41A2830F25BD1" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_168A63328B159178BDA41A2830F25BD1" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_BF85E36C7454174747471A2830F2492E_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_BF85E36C7454174747471A2830F2492E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2019</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_BF85E36C7454174747471A2830F2492E_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_BF85E36C7454174747471A2830F2492E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_BF85E36C7454174747471A2830F2492E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_BF85E36C7454174747471A2830F2492E" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_BF85E36C7454174747471A2830F2492E" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_33B39868E070E43AB2A11A2830F2091C_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_33B39868E070E43AB2A11A2830F2091C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_33B39868E070E43AB2A11A2830F2091C_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_33B39868E070E43AB2A11A2830F2091C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Five</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_33B39868E070E43AB2A11A2830F2091C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_33B39868E070E43AB2A11A2830F2091C" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_33B39868E070E43AB2A11A2830F2091C" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_D8E08B9DD5CA07F5A1491A2830F26442_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_D8E08B9DD5CA07F5A1491A2830F26442" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_D8E08B9DD5CA07F5A1491A2830F26442_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_D8E08B9DD5CA07F5A1491A2830F26442" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, after Year Five</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_D8E08B9DD5CA07F5A1491A2830F26442" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_D8E08B9DD5CA07F5A1491A2830F26442" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_D8E08B9DD5CA07F5A1491A2830F26442" xlink:type="arc" />
    <link:label id="lab_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A_terseLabel_en-US" xlink:label="lab_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Nature of Operations</link:label>
    <link:label id="lab_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A_label_en-US" xlink:label="lab_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Nature Of Operations [Policy Text Block]</link:label>
    <link:label id="lab_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A_documentation_en-US" xlink:label="lab_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Nature of Operations.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NatureOfOperationsPolicyTextBlock" xlink:label="loc_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A" xlink:to="lab_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A" xlink:type="arc" />
    <link:label id="lab_us-gaap_UseOfEstimates_AA6264FD9F1116939C4C1A282EC13769_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates_AA6264FD9F1116939C4C1A282EC13769" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Use of Estimates in the Preparation of Financial Statements</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_AA6264FD9F1116939C4C1A282EC13769_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates_AA6264FD9F1116939C4C1A282EC13769" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaap_UseOfEstimates_AA6264FD9F1116939C4C1A282EC13769" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates_AA6264FD9F1116939C4C1A282EC13769" xlink:to="lab_us-gaap_UseOfEstimates_AA6264FD9F1116939C4C1A282EC13769" xlink:type="arc" />
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_D76673A25A5B91F987B51A282EC1275F_terseLabel_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock_D76673A25A5B91F987B51A282EC1275F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basis of Consolidation</link:label>
    <link:label id="lab_us-gaap_ConsolidationPolicyTextBlock_D76673A25A5B91F987B51A282EC1275F_label_en-US" xlink:label="lab_us-gaap_ConsolidationPolicyTextBlock_D76673A25A5B91F987B51A282EC1275F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock_D76673A25A5B91F987B51A282EC1275F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConsolidationPolicyTextBlock_D76673A25A5B91F987B51A282EC1275F" xlink:to="lab_us-gaap_ConsolidationPolicyTextBlock_D76673A25A5B91F987B51A282EC1275F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_02B2D2273691129EFB041A282EC1AD3A_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_02B2D2273691129EFB041A282EC1AD3A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign Currency</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_02B2D2273691129EFB041A282EC1AD3A_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_02B2D2273691129EFB041A282EC1AD3A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_02B2D2273691129EFB041A282EC1AD3A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_02B2D2273691129EFB041A282EC1AD3A" xlink:to="lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_02B2D2273691129EFB041A282EC1AD3A" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy_E54AE77B0A4372A40E6E1A282EC2EAA2_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy_E54AE77B0A4372A40E6E1A282EC2EAA2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy_E54AE77B0A4372A40E6E1A282EC2EAA2_label_en-US" xlink:label="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy_E54AE77B0A4372A40E6E1A282EC2EAA2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value of Financial Instruments, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy_E54AE77B0A4372A40E6E1A282EC2EAA2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy_E54AE77B0A4372A40E6E1A282EC2EAA2" xlink:to="lab_us-gaap_FairValueOfFinancialInstrumentsPolicy_E54AE77B0A4372A40E6E1A282EC2EAA2" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_A14F35F2A88E3903C0BA1A282EC2757F_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_A14F35F2A88E3903C0BA1A282EC2757F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash, Cash Equivalents, and Investments</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_A14F35F2A88E3903C0BA1A282EC2757F_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_A14F35F2A88E3903C0BA1A282EC2757F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_A14F35F2A88E3903C0BA1A282EC2757F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_A14F35F2A88E3903C0BA1A282EC2757F" xlink:to="lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock_A14F35F2A88E3903C0BA1A282EC2757F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ReceivablesPolicyTextBlock_131E3FD52FB7C4815EEB1A282EC21D08_terseLabel_en-US" xlink:label="lab_us-gaap_ReceivablesPolicyTextBlock_131E3FD52FB7C4815EEB1A282EC21D08" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts Receivable</link:label>
    <link:label id="lab_us-gaap_ReceivablesPolicyTextBlock_131E3FD52FB7C4815EEB1A282EC21D08_label_en-US" xlink:label="lab_us-gaap_ReceivablesPolicyTextBlock_131E3FD52FB7C4815EEB1A282EC21D08" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Receivables, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="loc_us-gaap_ReceivablesPolicyTextBlock_131E3FD52FB7C4815EEB1A282EC21D08" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReceivablesPolicyTextBlock_131E3FD52FB7C4815EEB1A282EC21D08" xlink:to="lab_us-gaap_ReceivablesPolicyTextBlock_131E3FD52FB7C4815EEB1A282EC21D08" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryPolicyTextBlock_35789397EC007BF5B23E1A282EC26CF7_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock_35789397EC007BF5B23E1A282EC26CF7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryPolicyTextBlock_35789397EC007BF5B23E1A282EC26CF7_label_en-US" xlink:label="lab_us-gaap_InventoryPolicyTextBlock_35789397EC007BF5B23E1A282EC26CF7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaap_InventoryPolicyTextBlock_35789397EC007BF5B23E1A282EC26CF7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryPolicyTextBlock_35789397EC007BF5B23E1A282EC26CF7" xlink:to="lab_us-gaap_InventoryPolicyTextBlock_35789397EC007BF5B23E1A282EC26CF7" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_DC3AE908B8ECA262B06C1A282EC2B9D6_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_DC3AE908B8ECA262B06C1A282EC2B9D6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, Plant, and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_DC3AE908B8ECA262B06C1A282EC2B9D6_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_DC3AE908B8ECA262B06C1A282EC2B9D6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_DC3AE908B8ECA262B06C1A282EC2B9D6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_DC3AE908B8ECA262B06C1A282EC2B9D6" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_DC3AE908B8ECA262B06C1A282EC2B9D6" xlink:type="arc" />
    <link:label id="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy_8BF3E150E4482F1FA6A61A282EC2D5EF_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy_8BF3E150E4482F1FA6A61A282EC2D5EF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible Assets</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy_8BF3E150E4482F1FA6A61A282EC2D5EF_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy_8BF3E150E4482F1FA6A61A282EC2D5EF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible Assets, Finite-Lived, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="loc_us-gaap_IntangibleAssetsFiniteLivedPolicy_8BF3E150E4482F1FA6A61A282EC2D5EF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsFiniteLivedPolicy_8BF3E150E4482F1FA6A61A282EC2D5EF" xlink:to="lab_us-gaap_IntangibleAssetsFiniteLivedPolicy_8BF3E150E4482F1FA6A61A282EC2D5EF" xlink:type="arc" />
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_38C2702645EDEF8318AA1A282EC2CBF7_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_38C2702645EDEF8318AA1A282EC2CBF7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_38C2702645EDEF8318AA1A282EC2CBF7_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_38C2702645EDEF8318AA1A282EC2CBF7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_38C2702645EDEF8318AA1A282EC2CBF7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_38C2702645EDEF8318AA1A282EC2CBF7" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_38C2702645EDEF8318AA1A282EC2CBF7" xlink:type="arc" />
    <link:label id="lab_us-gaap_StandardProductWarrantyPolicy_9808CDAAC7B1EE897AFF1A282EC2AF4F_terseLabel_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyPolicy_9808CDAAC7B1EE897AFF1A282EC2AF4F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Warranty Obligations</link:label>
    <link:label id="lab_us-gaap_StandardProductWarrantyPolicy_9808CDAAC7B1EE897AFF1A282EC2AF4F_label_en-US" xlink:label="lab_us-gaap_StandardProductWarrantyPolicy_9808CDAAC7B1EE897AFF1A282EC2AF4F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard Product Warranty, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="loc_us-gaap_StandardProductWarrantyPolicy_9808CDAAC7B1EE897AFF1A282EC2AF4F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardProductWarrantyPolicy_9808CDAAC7B1EE897AFF1A282EC2AF4F" xlink:to="lab_us-gaap_StandardProductWarrantyPolicy_9808CDAAC7B1EE897AFF1A282EC2AF4F" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_705324FF563242980B691A282EC20C16_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_705324FF563242980B691A282EC20C16" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_705324FF563242980B691A282EC20C16_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_705324FF563242980B691A282EC20C16" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Commitments and Contingencies, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="loc_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_705324FF563242980B691A282EC20C16" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_705324FF563242980B691A282EC20C16" xlink:to="lab_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_705324FF563242980B691A282EC20C16" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueRecognitionPolicyTextBlock_028C88AC10249ED1BAA21A282EC28623_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock_028C88AC10249ED1BAA21A282EC28623" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueRecognitionPolicyTextBlock_028C88AC10249ED1BAA21A282EC28623_label_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock_028C88AC10249ED1BAA21A282EC28623" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue Recognition, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_028C88AC10249ED1BAA21A282EC28623" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRecognitionPolicyTextBlock_028C88AC10249ED1BAA21A282EC28623" xlink:to="lab_us-gaap_RevenueRecognitionPolicyTextBlock_028C88AC10249ED1BAA21A282EC28623" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_935569A3EF94A3B9370C1A282EC27D3D_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_935569A3EF94A3B9370C1A282EC27D3D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Research and Development</link:label>
    <link:label id="lab_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_935569A3EF94A3B9370C1A282EC27D3D_label_en-US" xlink:label="lab_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_935569A3EF94A3B9370C1A282EC27D3D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research, Development, and Computer Software, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:label="loc_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_935569A3EF94A3B9370C1A282EC27D3D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_935569A3EF94A3B9370C1A282EC27D3D" xlink:to="lab_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_935569A3EF94A3B9370C1A282EC27D3D" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_2A8D19A70D91C3024C3E1A282EC2CD8D_terseLabel_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock_2A8D19A70D91C3024C3E1A282EC2CD8D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Advertising Costs</link:label>
    <link:label id="lab_us-gaap_AdvertisingCostsPolicyTextBlock_2A8D19A70D91C3024C3E1A282EC2CD8D_label_en-US" xlink:label="lab_us-gaap_AdvertisingCostsPolicyTextBlock_2A8D19A70D91C3024C3E1A282EC2CD8D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Advertising Costs, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock_2A8D19A70D91C3024C3E1A282EC2CD8D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdvertisingCostsPolicyTextBlock_2A8D19A70D91C3024C3E1A282EC2CD8D" xlink:to="lab_us-gaap_AdvertisingCostsPolicyTextBlock_2A8D19A70D91C3024C3E1A282EC2CD8D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_118F56D52D591E46B76E1A282EC248B9_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_118F56D52D591E46B76E1A282EC248B9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_118F56D52D591E46B76E1A282EC248B9_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_118F56D52D591E46B76E1A282EC248B9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_118F56D52D591E46B76E1A282EC248B9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_118F56D52D591E46B76E1A282EC248B9" xlink:to="lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_118F56D52D591E46B76E1A282EC248B9" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_CB3421D4F0D75CE2C2D71A282EC23E96_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock_CB3421D4F0D75CE2C2D71A282EC23E96" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxPolicyTextBlock_CB3421D4F0D75CE2C2D71A282EC23E96_label_en-US" xlink:label="lab_us-gaap_IncomeTaxPolicyTextBlock_CB3421D4F0D75CE2C2D71A282EC23E96" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_CB3421D4F0D75CE2C2D71A282EC23E96" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxPolicyTextBlock_CB3421D4F0D75CE2C2D71A282EC23E96" xlink:to="lab_us-gaap_IncomeTaxPolicyTextBlock_CB3421D4F0D75CE2C2D71A282EC23E96" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_5404ACF4C151FAA3C1BE1A282EC24EBC_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock_5404ACF4C151FAA3C1BE1A282EC24EBC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net Income Per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerSharePolicyTextBlock_5404ACF4C151FAA3C1BE1A282EC24EBC_label_en-US" xlink:label="lab_us-gaap_EarningsPerSharePolicyTextBlock_5404ACF4C151FAA3C1BE1A282EC24EBC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_5404ACF4C151FAA3C1BE1A282EC24EBC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerSharePolicyTextBlock_5404ACF4C151FAA3C1BE1A282EC24EBC" xlink:to="lab_us-gaap_EarningsPerSharePolicyTextBlock_5404ACF4C151FAA3C1BE1A282EC24EBC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_D37899005FE96E3EBF671A282EC21F20_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_D37899005FE96E3EBF671A282EC21F20" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Comprehensive Income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_D37899005FE96E3EBF671A282EC21F20_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_D37899005FE96E3EBF671A282EC21F20" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="loc_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_D37899005FE96E3EBF671A282EC21F20" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_D37899005FE96E3EBF671A282EC21F20" xlink:to="lab_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_D37899005FE96E3EBF671A282EC21F20" xlink:type="arc" />
    <link:label id="lab_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554_terseLabel_en-US" xlink:label="lab_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentrations of Risk</link:label>
    <link:label id="lab_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554_label_en-US" xlink:label="lab_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentrations Of Risk Policy [Policy Text Block]</link:label>
    <link:label id="lab_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554_documentation_en-US" xlink:label="lab_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Concentrations of Risk.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock" xlink:label="loc_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554" xlink:to="lab_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativesPolicyTextBlock_BAF55B5D6BDA23DB4D241A282EC31DFF_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativesPolicyTextBlock_BAF55B5D6BDA23DB4D241A282EC31DFF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments</link:label>
    <link:label id="lab_us-gaap_DerivativesPolicyTextBlock_BAF55B5D6BDA23DB4D241A282EC31DFF_label_en-US" xlink:label="lab_us-gaap_DerivativesPolicyTextBlock_BAF55B5D6BDA23DB4D241A282EC31DFF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivatives, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="loc_us-gaap_DerivativesPolicyTextBlock_BAF55B5D6BDA23DB4D241A282EC31DFF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativesPolicyTextBlock_BAF55B5D6BDA23DB4D241A282EC31DFF" xlink:to="lab_us-gaap_DerivativesPolicyTextBlock_BAF55B5D6BDA23DB4D241A282EC31DFF" xlink:type="arc" />
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current:</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:type="arc" />
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_2793EE35C7C70D28AAC31A282F0ED3C4_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit_2793EE35C7C70D28AAC31A282F0ED3C4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_CurrentFederalTaxExpenseBenefit_2793EE35C7C70D28AAC31A282F0ED3C4_label_en-US" xlink:label="lab_us-gaap_CurrentFederalTaxExpenseBenefit_2793EE35C7C70D28AAC31A282F0ED3C4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Federal Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_2793EE35C7C70D28AAC31A282F0ED3C4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentFederalTaxExpenseBenefit_2793EE35C7C70D28AAC31A282F0ED3C4" xlink:to="lab_us-gaap_CurrentFederalTaxExpenseBenefit_2793EE35C7C70D28AAC31A282F0ED3C4" xlink:type="arc" />
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_21140A89762CF46C4BCD1A282F0EA0D4_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_21140A89762CF46C4BCD1A282F0EA0D4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_21140A89762CF46C4BCD1A282F0EA0D4_label_en-US" xlink:label="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_21140A89762CF46C4BCD1A282F0EA0D4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_21140A89762CF46C4BCD1A282F0EA0D4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_21140A89762CF46C4BCD1A282F0EA0D4" xlink:to="lab_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_21140A89762CF46C4BCD1A282F0EA0D4" xlink:type="arc" />
    <link:label id="lab_us-gaap_CurrentForeignTaxExpenseBenefit_EE6A25C18FB8B2E29B951A282F0E40EC_terseLabel_en-US" xlink:label="lab_us-gaap_CurrentForeignTaxExpenseBenefit_EE6A25C18FB8B2E29B951A282F0E40EC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_CurrentForeignTaxExpenseBenefit_EE6A25C18FB8B2E29B951A282F0E40EC_label_en-US" xlink:label="lab_us-gaap_CurrentForeignTaxExpenseBenefit_EE6A25C18FB8B2E29B951A282F0E40EC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Foreign Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_EE6A25C18FB8B2E29B951A282F0E40EC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentForeignTaxExpenseBenefit_EE6A25C18FB8B2E29B951A282F0E40EC" xlink:to="lab_us-gaap_CurrentForeignTaxExpenseBenefit_EE6A25C18FB8B2E29B951A282F0E40EC" xlink:type="arc" />
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_ED70C7166706A4A9DC681A282F0E48D9_totalLabel_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_ED70C7166706A4A9DC681A282F0E48D9" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Current income tax expense (benefit), Total</link:label>
    <link:label id="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_ED70C7166706A4A9DC681A282F0E48D9_label_en-US" xlink:label="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_ED70C7166706A4A9DC681A282F0E48D9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_ED70C7166706A4A9DC681A282F0E48D9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_ED70C7166706A4A9DC681A282F0E48D9" xlink:to="lab_us-gaap_CurrentIncomeTaxExpenseBenefit_ED70C7166706A4A9DC681A282F0E48D9" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred:</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_7100C07832DC623B47131A282F0E1F3C_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_7100C07832DC623B47131A282F0E1F3C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Federal</link:label>
    <link:label id="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_7100C07832DC623B47131A282F0E1F3C_label_en-US" xlink:label="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_7100C07832DC623B47131A282F0E1F3C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_7100C07832DC623B47131A282F0E1F3C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_7100C07832DC623B47131A282F0E1F3C" xlink:to="lab_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_7100C07832DC623B47131A282F0E1F3C" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3844E5954447CDB949251A282F0E24EB_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3844E5954447CDB949251A282F0E24EB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State</link:label>
    <link:label id="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3844E5954447CDB949251A282F0E24EB_label_en-US" xlink:label="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3844E5954447CDB949251A282F0E24EB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred State and Local Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3844E5954447CDB949251A282F0E24EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3844E5954447CDB949251A282F0E24EB" xlink:to="lab_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3844E5954447CDB949251A282F0E24EB" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4DBD576E106A7A3719681A282F0E79EB_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4DBD576E106A7A3719681A282F0E79EB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign</link:label>
    <link:label id="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4DBD576E106A7A3719681A282F0E79EB_label_en-US" xlink:label="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4DBD576E106A7A3719681A282F0E79EB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Foreign Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4DBD576E106A7A3719681A282F0E79EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4DBD576E106A7A3719681A282F0E79EB" xlink:to="lab_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4DBD576E106A7A3719681A282F0E79EB" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_3A48D65AF6B327042F621A282F0E960D_totalLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_3A48D65AF6B327042F621A282F0E960D" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Deferred income tax expense (benefit), Total</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_3A48D65AF6B327042F621A282F0E960D_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_3A48D65AF6B327042F621A282F0E960D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_3A48D65AF6B327042F621A282F0E960D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_3A48D65AF6B327042F621A282F0E960D" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_3A48D65AF6B327042F621A282F0E960D" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_EC0FBB3D16778074D18A1A282F0EA2F1_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit_EC0FBB3D16778074D18A1A282F0EA2F1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income tax expense (benefit), continuing operations, Total</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_EC0FBB3D16778074D18A1A282F0EA2F1_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit_EC0FBB3D16778074D18A1A282F0EA2F1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_EC0FBB3D16778074D18A1A282F0EA2F1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_EC0FBB3D16778074D18A1A282F0EA2F1" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit_EC0FBB3D16778074D18A1A282F0EA2F1" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2_terseLabel_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product Liability Contingency [Table]</link:label>
    <link:label id="lab_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2_label_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Liability Contingency [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductLiabilityContingencyTable" xlink:label="loc_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:to="lab_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C_terseLabel_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product Liability Contingency [Line Items]</link:label>
    <link:label id="lab_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C_label_en-US" xlink:label="lab_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Liability Contingency [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductLiabilityContingencyLineItems" xlink:label="loc_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:to="lab_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:type="arc" />
    <link:label id="lab_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428_terseLabel_en-US" xlink:label="lab_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product Warranty Period</link:label>
    <link:label id="lab_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428_label_en-US" xlink:label="lab_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranty Period</link:label>
    <link:label id="lab_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428_documentation_en-US" xlink:label="lab_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Product warranty period.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ProductWarrantyPeriod" xlink:label="loc_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:to="lab_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_DD78D8683673B38114371A282F56B874_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_DD78D8683673B38114371A282F56B874" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Basic weighted-average common shares outstanding</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_DD78D8683673B38114371A282F56B874_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_DD78D8683673B38114371A282F56B874" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_DD78D8683673B38114371A282F56B874" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_DD78D8683673B38114371A282F56B874" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_DD78D8683673B38114371A282F56B874" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_F7698B512FF20D5B13DA1A282F5621B6_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_F7698B512FF20D5B13DA1A282F5621B6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of dilutive stock options</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_F7698B512FF20D5B13DA1A282F5621B6_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_F7698B512FF20D5B13DA1A282F5621B6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number Diluted Shares Outstanding Adjustment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_F7698B512FF20D5B13DA1A282F5621B6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_F7698B512FF20D5B13DA1A282F5621B6" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_F7698B512FF20D5B13DA1A282F5621B6" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3BED5044AEC5050662EB1A282F56DB25_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3BED5044AEC5050662EB1A282F56DB25" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Diluted weighted-average common and common-equivalent shares outstanding</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3BED5044AEC5050662EB1A282F56DB25_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3BED5044AEC5050662EB1A282F56DB25" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3BED5044AEC5050662EB1A282F56DB25" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3BED5044AEC5050662EB1A282F56DB25" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3BED5044AEC5050662EB1A282F56DB25" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_4B63F2494F862EE668221A282F7376FB_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_4B63F2494F862EE668221A282F7376FB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_4B63F2494F862EE668221A282F7376FB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_4B63F2494F862EE668221A282F7376FB" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_4B63F2494F862EE668221A282F7376FB" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_F0B025E306CA2D8243AB1A282F73B855_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_F0B025E306CA2D8243AB1A282F73B855" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax effect of unrealized gain on cash flow hedges</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_F0B025E306CA2D8243AB1A282F73B855" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_F0B025E306CA2D8243AB1A282F73B855" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_F0B025E306CA2D8243AB1A282F73B855" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_70A9AA87C76106D21BEA1A282F734410_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_70A9AA87C76106D21BEA1A282F734410" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax effect of unrealized gain (loss) on available-for-sale investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_70A9AA87C76106D21BEA1A282F734410" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_70A9AA87C76106D21BEA1A282F734410" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_70A9AA87C76106D21BEA1A282F734410" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_550DFBB5ADBF1995858B1A282F733C99_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_550DFBB5ADBF1995858B1A282F733C99" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax effect of foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_550DFBB5ADBF1995858B1A282F733C99_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_550DFBB5ADBF1995858B1A282F733C99" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Translation Gain (Loss) Arising During Period, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_550DFBB5ADBF1995858B1A282F733C99" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_550DFBB5ADBF1995858B1A282F733C99" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_550DFBB5ADBF1995858B1A282F733C99" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B_terseLabel_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Segments [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B_label_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segments [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:to="lab_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:type="arc" />
    <link:label id="lab_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Segments [Domain]</link:label>
    <link:label id="lab_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2_label_en-US" xlink:label="lab_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segments [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:to="lab_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:type="arc" />
    <link:label id="lab_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999_terseLabel_en-US" xlink:label="lab_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">MVSD [Member]</link:label>
    <link:label id="lab_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999_label_en-US" xlink:label="lab_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Mvsd [Member]</link:label>
    <link:label id="lab_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999_documentation_en-US" xlink:label="lab_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">MVSD.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MvsdMember" xlink:label="loc_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:to="lab_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:type="arc" />
    <link:label id="lab_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4_terseLabel_en-US" xlink:label="lab_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value in excess to carrying value</link:label>
    <link:label id="lab_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4_label_en-US" xlink:label="lab_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value In Excess To Carrying Value</link:label>
    <link:label id="lab_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4_documentation_en-US" xlink:label="lab_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Fair value in excess to carrying value.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_FairValueInExcessToCarryingValue" xlink:label="loc_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:to="lab_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:type="arc" />
    <link:label id="lab_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812_terseLabel_en-US" xlink:label="lab_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred cash payment on business acquisition</link:label>
    <link:label id="lab_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812_label_en-US" xlink:label="lab_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Consideration Transferred, Deferred Cash Payment</link:label>
    <link:label id="lab_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812_documentation_en-US" xlink:label="lab_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Business Combination, Consideration Transferred, Deferred Cash Payment</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment" xlink:label="loc_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:to="lab_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_A4E1F73E5130BCE6B3341A2830DEC7AB_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_A4E1F73E5130BCE6B3341A2830DEC7AB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Constituents of Accrued Expenses</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_A4E1F73E5130BCE6B3341A2830DEC7AB_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_A4E1F73E5130BCE6B3341A2830DEC7AB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Accrued Liabilities [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_A4E1F73E5130BCE6B3341A2830DEC7AB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_A4E1F73E5130BCE6B3341A2830DEC7AB" xlink:to="lab_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_A4E1F73E5130BCE6B3341A2830DEC7AB" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4473C2D34381C955AAE81A2830DE6760_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4473C2D34381C955AAE81A2830DE6760" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Changes in Warranty Obligations</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4473C2D34381C955AAE81A2830DE6760_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4473C2D34381C955AAE81A2830DE6760" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4473C2D34381C955AAE81A2830DE6760" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4473C2D34381C955AAE81A2830DE6760" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4473C2D34381C955AAE81A2830DE6760" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Less than 12 months</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F_negatedLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Unrealized Losses, Less than 12 months</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Greater than 12 Months</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Twelve Months or Longer, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D_negatedLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Unrealized Losses, Greater than 12 Months</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Fair Value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xml:lang="en-US">Unrealized Losses</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Accumulated Loss</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_A76BA0000C07B74524AE1A282F215314_periodStartLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits_A76BA0000C07B74524AE1A282F215314" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance of reserve for income taxes</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_A76BA0000C07B74524AE1A282F215314_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits_A76BA0000C07B74524AE1A282F215314" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_A76BA0000C07B74524AE1A282F215314" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefits_A76BA0000C07B74524AE1A282F215314" xlink:to="lab_us-gaap_UnrecognizedTaxBenefits_A76BA0000C07B74524AE1A282F215314" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_DC9F9CF57CD127BB70641A282F21FC92_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_DC9F9CF57CD127BB70641A282F21FC92" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in prior periods</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_DC9F9CF57CD127BB70641A282F21FC92_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_DC9F9CF57CD127BB70641A282F21FC92" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_DC9F9CF57CD127BB70641A282F21FC92" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_DC9F9CF57CD127BB70641A282F21FC92" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_DC9F9CF57CD127BB70641A282F21FC92" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_ED362A843F1515DA9D631A282F217650_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_ED362A843F1515DA9D631A282F217650" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Period Increase (Decrease)</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_ED362A843F1515DA9D631A282F217650_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_ED362A843F1515DA9D631A282F217650" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Period Increase (Decrease)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_ED362A843F1515DA9D631A282F217650" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_ED362A843F1515DA9D631A282F217650" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_ED362A843F1515DA9D631A282F217650" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_CF261978388AA85D69E71A282F211AAF_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_CF261978388AA85D69E71A282F211AAF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_CF261978388AA85D69E71A282F211AAF_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_CF261978388AA85D69E71A282F211AAF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_CF261978388AA85D69E71A282F211AAF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_CF261978388AA85D69E71A282F211AAF" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_CF261978388AA85D69E71A282F211AAF" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities_04D20FB3DFC87A5039C41A282F212751_negatedLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities_04D20FB3DFC87A5039C41A282F212751" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities_04D20FB3DFC87A5039C41A282F212751_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities_04D20FB3DFC87A5039C41A282F212751" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Settlements with Taxing Authorities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities_04D20FB3DFC87A5039C41A282F212751" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities_04D20FB3DFC87A5039C41A282F212751" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities_04D20FB3DFC87A5039C41A282F212751" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_47476F6C6779141DEE6D1A282F211430_negatedLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_47476F6C6779141DEE6D1A282F211430" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_47476F6C6779141DEE6D1A282F211430_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_47476F6C6779141DEE6D1A282F211430" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_47476F6C6779141DEE6D1A282F211430" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_47476F6C6779141DEE6D1A282F211430" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_47476F6C6779141DEE6D1A282F211430" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefits_4AD2A1257626B04EB8431A282F2112BC_periodEndLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefits_4AD2A1257626B04EB8431A282F2112BC" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance of reserve for income taxes</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_4AD2A1257626B04EB8431A282F2112BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefits_4AD2A1257626B04EB8431A282F2112BC" xlink:to="lab_us-gaap_UnrecognizedTaxBenefits_4AD2A1257626B04EB8431A282F2112BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_EB74067FF2886D2317A61B877D77A483_label_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_EB74067FF2886D2317A61B877D77A483" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_EB74067FF2886D2317A61B877D77A483" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_EB74067FF2886D2317A61B877D77A483" xlink:to="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_EB74067FF2886D2317A61B877D77A483" xlink:type="arc" />
    <link:label id="lab_us-gaap_NumberOfBusinessesAcquired_DB27FD80D5CC625813A21B877D77D4FE_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfBusinessesAcquired_DB27FD80D5CC625813A21B877D77D4FE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of acquisitions</link:label>
    <link:label id="lab_us-gaap_NumberOfBusinessesAcquired_DB27FD80D5CC625813A21B877D77D4FE_label_en-US" xlink:label="lab_us-gaap_NumberOfBusinessesAcquired_DB27FD80D5CC625813A21B877D77D4FE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number of Businesses Acquired</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NumberOfBusinessesAcquired" xlink:label="loc_us-gaap_NumberOfBusinessesAcquired_DB27FD80D5CC625813A21B877D77D4FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfBusinessesAcquired_DB27FD80D5CC625813A21B877D77D4FE" xlink:to="lab_us-gaap_NumberOfBusinessesAcquired_DB27FD80D5CC625813A21B877D77D4FE" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67" xlink:to="lab_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67" xlink:type="arc" />
    <link:label id="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD_negatedTerseLabel_en-US" xlink:label="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD_label_en-US" xlink:label="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Income Tax Payable</link:label>
    <link:label id="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD_documentation_en-US" xlink:label="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Income Tax Payable</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:to="lab_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_F4D4300218D743E98D8B1A282ED4072C_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock_F4D4300218D743E98D8B1A282ED4072C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Events</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_F4D4300218D743E98D8B1A282ED4072C_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock_F4D4300218D743E98D8B1A282ED4072C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_F4D4300218D743E98D8B1A282ED4072C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock_F4D4300218D743E98D8B1A282ED4072C" xlink:to="lab_us-gaap_SubsequentEventsTextBlock_F4D4300218D743E98D8B1A282ED4072C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_394DBA35CF33607CE49C1A282EFB8FAF_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_394DBA35CF33607CE49C1A282EFB8FAF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule II - Valuation and Qualifying Accounts</link:label>
    <link:label id="lab_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_394DBA35CF33607CE49C1A282EFB8FAF_label_en-US" xlink:label="lab_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_394DBA35CF33607CE49C1A282EFB8FAF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="loc_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_394DBA35CF33607CE49C1A282EFB8FAF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_394DBA35CF33607CE49C1A282EFB8FAF" xlink:to="lab_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_394DBA35CF33607CE49C1A282EFB8FAF" xlink:type="arc" />
    <link:label id="lab_us-gaap_GoodwillDisclosureTextBlock_296609281D995F9234DD1A2830BE5C0E_terseLabel_en-US" xlink:label="lab_us-gaap_GoodwillDisclosureTextBlock_296609281D995F9234DD1A2830BE5C0E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_GoodwillDisclosureTextBlock_296609281D995F9234DD1A2830BE5C0E_label_en-US" xlink:label="lab_us-gaap_GoodwillDisclosureTextBlock_296609281D995F9234DD1A2830BE5C0E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillDisclosureTextBlock" xlink:label="loc_us-gaap_GoodwillDisclosureTextBlock_296609281D995F9234DD1A2830BE5C0E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillDisclosureTextBlock_296609281D995F9234DD1A2830BE5C0E" xlink:to="lab_us-gaap_GoodwillDisclosureTextBlock_296609281D995F9234DD1A2830BE5C0E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_F5E3CDD1BACCA496241F1A282F5ECECC_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_F5E3CDD1BACCA496241F1A282F5ECECC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas</link:label>
    <link:label id="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_F5E3CDD1BACCA496241F1A282F5ECECC_label_en-US" xlink:label="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_F5E3CDD1BACCA496241F1A282F5ECECC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_F5E3CDD1BACCA496241F1A282F5ECECC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_F5E3CDD1BACCA496241F1A282F5ECECC" xlink:to="lab_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_F5E3CDD1BACCA496241F1A282F5ECECC" xlink:type="arc" />
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_BD37A8502A8186243D411A28310C7C6F_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock_BD37A8502A8186243D411A28310C7C6F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Segment and Geographic Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_BD37A8502A8186243D411A28310C7C6F_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock_BD37A8502A8186243D411A28310C7C6F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_BD37A8502A8186243D411A28310C7C6F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock_BD37A8502A8186243D411A28310C7C6F" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock_BD37A8502A8186243D411A28310C7C6F" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="lab_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:type="arc" />
    <link:label id="lab_us-gaap_SalesRevenueNet_6B4D0B440352F586BCA81A282FA9C2EA_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNet_6B4D0B440352F586BCA81A282FA9C2EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_SalesRevenueNet_6B4D0B440352F586BCA81A282FA9C2EA_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNet_6B4D0B440352F586BCA81A282FA9C2EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_6B4D0B440352F586BCA81A282FA9C2EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNet_6B4D0B440352F586BCA81A282FA9C2EA" xlink:to="lab_us-gaap_SalesRevenueNet_6B4D0B440352F586BCA81A282FA9C2EA" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_CE133541A1F3018F154D1A282FA9A65F_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold_CE133541A1F3018F154D1A282FA9A65F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cost of revenue</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_CE133541A1F3018F154D1A282FA9A65F_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold_CE133541A1F3018F154D1A282FA9A65F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_CE133541A1F3018F154D1A282FA9A65F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold_CE133541A1F3018F154D1A282FA9A65F" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold_CE133541A1F3018F154D1A282FA9A65F" xlink:type="arc" />
    <link:label id="lab_us-gaap_GrossProfit_D2F63219D86BB59C12881A282FA9FBC5_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit_D2F63219D86BB59C12881A282FA9FBC5" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Gross margin</link:label>
    <link:label id="lab_us-gaap_GrossProfit_D2F63219D86BB59C12881A282FA9FBC5_label_en-US" xlink:label="lab_us-gaap_GrossProfit_D2F63219D86BB59C12881A282FA9FBC5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_D2F63219D86BB59C12881A282FA9FBC5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit_D2F63219D86BB59C12881A282FA9FBC5" xlink:to="lab_us-gaap_GrossProfit_D2F63219D86BB59C12881A282FA9FBC5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_CE869EDE8EDAEDAD6F5E1A282FA96555_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense_CE869EDE8EDAEDAD6F5E1A282FA96555" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Research, development, and engineering expenses</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_CE869EDE8EDAEDAD6F5E1A282FA96555_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense_CE869EDE8EDAEDAD6F5E1A282FA96555" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_CE869EDE8EDAEDAD6F5E1A282FA96555" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense_CE869EDE8EDAEDAD6F5E1A282FA96555" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense_CE869EDE8EDAEDAD6F5E1A282FA96555" xlink:type="arc" />
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_E92EA548B895AE4809701A282FA9F592_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense_E92EA548B895AE4809701A282FA9F592" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Selling, general, and administrative expenses</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_E92EA548B895AE4809701A282FA9F592_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense_E92EA548B895AE4809701A282FA9F592" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_E92EA548B895AE4809701A282FA9F592" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense_E92EA548B895AE4809701A282FA9F592" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense_E92EA548B895AE4809701A282FA9F592" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingIncomeLoss_FB9D52F2D67D75980DF51A282FAA2D32_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss_FB9D52F2D67D75980DF51A282FAA2D32" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_FB9D52F2D67D75980DF51A282FAA2D32_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss_FB9D52F2D67D75980DF51A282FAA2D32" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_FB9D52F2D67D75980DF51A282FAA2D32" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss_FB9D52F2D67D75980DF51A282FAA2D32" xlink:to="lab_us-gaap_OperatingIncomeLoss_FB9D52F2D67D75980DF51A282FAA2D32" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_C7F1477E1D785F6C352A1A282FAA9976_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_C7F1477E1D785F6C352A1A282FAA9976" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency gain (loss)</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_C7F1477E1D785F6C352A1A282FAA9976_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_C7F1477E1D785F6C352A1A282FAA9976" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Transaction Gain (Loss), before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_C7F1477E1D785F6C352A1A282FAA9976" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_C7F1477E1D785F6C352A1A282FAA9976" xlink:to="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_C7F1477E1D785F6C352A1A282FAA9976" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentIncomeNonoperating_29382024419BFB0260F71A282FAADC8F_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating_29382024419BFB0260F71A282FAADC8F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investment income</link:label>
    <link:label id="lab_us-gaap_InvestmentIncomeNonoperating_29382024419BFB0260F71A282FAADC8F_label_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating_29382024419BFB0260F71A282FAADC8F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment Income, Nonoperating</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_29382024419BFB0260F71A282FAADC8F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeNonoperating_29382024419BFB0260F71A282FAADC8F" xlink:to="lab_us-gaap_InvestmentIncomeNonoperating_29382024419BFB0260F71A282FAADC8F" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_3CEDD2410586E86AEA111A282FAAC1EF_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense_3CEDD2410586E86AEA111A282FAAC1EF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other income (expense)</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_3CEDD2410586E86AEA111A282FAAC1EF_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense_3CEDD2410586E86AEA111A282FAAC1EF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_3CEDD2410586E86AEA111A282FAAC1EF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense_3CEDD2410586E86AEA111A282FAAC1EF" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense_3CEDD2410586E86AEA111A282FAAC1EF" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C6455FD752F6891315171A282FAA8EFB_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C6455FD752F6891315171A282FAA8EFB" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income from continuing operations before income tax expense</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C6455FD752F6891315171A282FAA8EFB_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C6455FD752F6891315171A282FAA8EFB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C6455FD752F6891315171A282FAA8EFB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C6455FD752F6891315171A282FAA8EFB" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C6455FD752F6891315171A282FAA8EFB" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_5E51C565FE8DBB7FB2DA1A282FAA2EBD_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit_5E51C565FE8DBB7FB2DA1A282FAA2EBD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense on continuing operations</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_5E51C565FE8DBB7FB2DA1A282FAA2EBD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_5E51C565FE8DBB7FB2DA1A282FAA2EBD" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit_5E51C565FE8DBB7FB2DA1A282FAA2EBD" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperations_BDA88E06E1EB2FFF8E571A282FAAC5EF_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperations_BDA88E06E1EB2FFF8E571A282FAAC5EF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income from continuing operations</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperations_BDA88E06E1EB2FFF8E571A282FAAC5EF_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperations_BDA88E06E1EB2FFF8E571A282FAAC5EF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations, Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_BDA88E06E1EB2FFF8E571A282FAAC5EF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperations_BDA88E06E1EB2FFF8E571A282FAAC5EF" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperations_BDA88E06E1EB2FFF8E571A282FAAC5EF" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetIncomeLoss_6E0132EFA28F6830294A1A282FAA5DFD_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_6E0132EFA28F6830294A1A282FAA5DFD" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_6E0132EFA28F6830294A1A282FAA5DFD_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_6E0132EFA28F6830294A1A282FAA5DFD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_6E0132EFA28F6830294A1A282FAA5DFD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss_6E0132EFA28F6830294A1A282FAA5DFD" xlink:to="lab_us-gaap_NetIncomeLoss_6E0132EFA28F6830294A1A282FAA5DFD" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic earnings per weighted-average common and common-equivalent share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Basic [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="loc_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:to="lab_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5FF0E9FA95A5758D35B11A282FABE06F_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5FF0E9FA95A5758D35B11A282FABE06F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income from continuing operations (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5FF0E9FA95A5758D35B11A282FABE06F_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5FF0E9FA95A5758D35B11A282FABE06F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Basic Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5FF0E9FA95A5758D35B11A282FABE06F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5FF0E9FA95A5758D35B11A282FABE06F" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5FF0E9FA95A5758D35B11A282FABE06F" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_96AFCD9476437B19C4551A282FABAF67_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_96AFCD9476437B19C4551A282FABAF67" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income from discontinued operations (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_96AFCD9476437B19C4551A282FABAF67_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_96AFCD9476437B19C4551A282FABAF67" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Discontinued Operations and Disposal of Discontinued Operations, Net of Tax, Per Basic Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_96AFCD9476437B19C4551A282FABAF67" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_96AFCD9476437B19C4551A282FABAF67" xlink:to="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_96AFCD9476437B19C4551A282FABAF67" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareBasic_4E934BE6145F45B2EE941A282FABD97E_totalLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic_4E934BE6145F45B2EE941A282FABD97E" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_4E934BE6145F45B2EE941A282FABD97E_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic_4E934BE6145F45B2EE941A282FABD97E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_4E934BE6145F45B2EE941A282FABD97E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic_4E934BE6145F45B2EE941A282FABD97E" xlink:to="lab_us-gaap_EarningsPerShareBasic_4E934BE6145F45B2EE941A282FABD97E" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted earnings per weighted-average common and common-equivalent share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Diluted [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:to="lab_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_471D6A9538915B9C3E7E1A282FAB819E_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_471D6A9538915B9C3E7E1A282FAB819E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income from continuing operations (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_471D6A9538915B9C3E7E1A282FAB819E_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_471D6A9538915B9C3E7E1A282FAB819E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Diluted Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_471D6A9538915B9C3E7E1A282FAB819E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_471D6A9538915B9C3E7E1A282FAB819E" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_471D6A9538915B9C3E7E1A282FAB819E" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_F8576D41AFE022B807EE1A282FAB5641_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_F8576D41AFE022B807EE1A282FAB5641" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income from discontinued operations (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_F8576D41AFE022B807EE1A282FAB5641_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_F8576D41AFE022B807EE1A282FAB5641" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Discontinued Operations and Disposal of Discontinued Operations, Net of Tax, Per Diluted Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_F8576D41AFE022B807EE1A282FAB5641" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_F8576D41AFE022B807EE1A282FAB5641" xlink:to="lab_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_F8576D41AFE022B807EE1A282FAB5641" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_C04F5F8AE0C9A97035871A282FAB2D69_totalLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted_C04F5F8AE0C9A97035871A282FAB2D69" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net income (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_C04F5F8AE0C9A97035871A282FAB2D69_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted_C04F5F8AE0C9A97035871A282FAB2D69" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_C04F5F8AE0C9A97035871A282FAB2D69" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted_C04F5F8AE0C9A97035871A282FAB2D69" xlink:to="lab_us-gaap_EarningsPerShareDiluted_C04F5F8AE0C9A97035871A282FAB2D69" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-average common and common-equivalent shares outstanding:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_675E4CA8C869E9C163191A282FAB0B2F_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_675E4CA8C869E9C163191A282FAB0B2F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic (in shares)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_675E4CA8C869E9C163191A282FAB0B2F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_675E4CA8C869E9C163191A282FAB0B2F" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_675E4CA8C869E9C163191A282FAB0B2F" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_AA7AA83E0F3F088403811A282FAB2A9D_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_AA7AA83E0F3F088403811A282FAB2A9D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_AA7AA83E0F3F088403811A282FAB2A9D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_AA7AA83E0F3F088403811A282FAB2A9D" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_AA7AA83E0F3F088403811A282FAB2A9D" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_E48F248A7FA99D3FECE31A282FAB8ED0_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid_E48F248A7FA99D3FECE31A282FAB8ED0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash dividends per common share (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_E48F248A7FA99D3FECE31A282FAB8ED0_label_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid_E48F248A7FA99D3FECE31A282FAB8ED0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Dividends, Per Share, Cash Paid</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_E48F248A7FA99D3FECE31A282FAB8ED0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockDividendsPerShareCashPaid_E48F248A7FA99D3FECE31A282FAB8ED0" xlink:to="lab_us-gaap_CommonStockDividendsPerShareCashPaid_E48F248A7FA99D3FECE31A282FAB8ED0" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_9362903BE39CCC33D38B1A282EFCCBF5_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_9362903BE39CCC33D38B1A282EFCCBF5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-Based Compensation</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_9362903BE39CCC33D38B1A282EFCCBF5_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_9362903BE39CCC33D38B1A282EFCCBF5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disclosure of Compensation Related Costs, Share-based Payments [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_9362903BE39CCC33D38B1A282EFCCBF5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_9362903BE39CCC33D38B1A282EFCCBF5" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_9362903BE39CCC33D38B1A282EFCCBF5" xlink:type="arc" />
    <link:label id="lab_cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract_55DD507A0180CBCB25ED1A2830DA8225_label_en-US" xlink:label="lab_cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract_55DD507A0180CBCB25ED1A2830DA8225" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock-Based Compensation Expense- Summary of Restricted Stock Option Activity (Detail) [Abstract]</link:label>
    <link:label id="lab_cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract_55DD507A0180CBCB25ED1A2830DA8225_documentation_en-US" xlink:label="lab_cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract_55DD507A0180CBCB25ED1A2830DA8225" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Stock-Based Compensation Expense- Summary of Restricted Stock Option Activity (Detail) [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract" xlink:label="loc_cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract_55DD507A0180CBCB25ED1A2830DA8225" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract_55DD507A0180CBCB25ED1A2830DA8225" xlink:to="lab_cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract_55DD507A0180CBCB25ED1A2830DA8225" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:type="arc" />
    <link:label id="lab_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262" xlink:to="lab_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options, Shares Nonvested</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options, Nonvested, Weighted-Average Exercise Price, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Nonvested as of December 31, 2014, Aggregate Intrinsic Value</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Nonvested</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041" xlink:type="arc" />
    <link:label id="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_C544A7681837C51339911A282F9A4AC7_terseLabel_en-US" xlink:label="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_C544A7681837C51339911A282F9A4AC7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Purchase order outstanding</link:label>
    <link:label id="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_C544A7681837C51339911A282F9A4AC7_label_en-US" xlink:label="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_C544A7681837C51339911A282F9A4AC7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Purchase Commitment, Remaining Minimum Amount Committed</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_C544A7681837C51339911A282F9A4AC7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_C544A7681837C51339911A282F9A4AC7" xlink:to="lab_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_C544A7681837C51339911A282F9A4AC7" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesRentExpenseNet_11875B26868E330FEC871A282F9A2C75_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesRentExpenseNet_11875B26868E330FEC871A282F9A2C75" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total annual rental expense</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesRentExpenseNet_11875B26868E330FEC871A282F9A2C75_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesRentExpenseNet_11875B26868E330FEC871A282F9A2C75" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Rent Expense, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesRentExpenseNet" xlink:label="loc_us-gaap_OperatingLeasesRentExpenseNet_11875B26868E330FEC871A282F9A2C75" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesRentExpenseNet_11875B26868E330FEC871A282F9A2C75" xlink:to="lab_us-gaap_OperatingLeasesRentExpenseNet_11875B26868E330FEC871A282F9A2C75" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue_7D9E659ACCE05DE023471A282F9AEDB2_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue_7D9E659ACCE05DE023471A282F9AEDB2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total annual rental income</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue_7D9E659ACCE05DE023471A282F9AEDB2_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue_7D9E659ACCE05DE023471A282F9AEDB2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Income Statement, Lease Revenue</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesIncomeStatementLeaseRevenue" xlink:label="loc_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue_7D9E659ACCE05DE023471A282F9AEDB2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue_7D9E659ACCE05DE023471A282F9AEDB2" xlink:to="lab_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue_7D9E659ACCE05DE023471A282F9AEDB2" xlink:type="arc" />
    <link:label id="lab_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744_terseLabel_en-US" xlink:label="lab_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Legal Settlement Total</link:label>
    <link:label id="lab_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744_label_en-US" xlink:label="lab_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Settlement Total</link:label>
    <link:label id="lab_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744_documentation_en-US" xlink:label="lab_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Total settlement of Microscan litigation</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LegalSettlementTotal" xlink:label="loc_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744" xlink:to="lab_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744" xlink:type="arc" />
    <link:label id="lab_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6_terseLabel_en-US" xlink:label="lab_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Legal Settlement Asset</link:label>
    <link:label id="lab_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6_label_en-US" xlink:label="lab_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Settlement Asset</link:label>
    <link:label id="lab_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6_documentation_en-US" xlink:label="lab_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">legalsettlementasset</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LegalSettlementAsset" xlink:label="loc_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6" xlink:to="lab_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6" xlink:type="arc" />
    <link:label id="lab_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA_terseLabel_en-US" xlink:label="lab_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Life of patent, years</link:label>
    <link:label id="lab_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA_label_en-US" xlink:label="lab_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Life of patent, years</link:label>
    <link:label id="lab_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA_documentation_en-US" xlink:label="lab_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Life of patent, years</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Lifeofpatentyears" xlink:label="loc_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA" xlink:to="lab_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA" xlink:type="arc" />
    <link:label id="lab_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4_terseLabel_en-US" xlink:label="lab_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Legal Settlement Expense</link:label>
    <link:label id="lab_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4_label_en-US" xlink:label="lab_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Legal Settlement Expense</link:label>
    <link:label id="lab_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4_documentation_en-US" xlink:label="lab_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">legalsettlementexpense</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LegalSettlementExpense" xlink:label="loc_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4" xlink:to="lab_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_01611107EAF1D990C3761A282F754B4B_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_01611107EAF1D990C3761A282F754B4B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Future Minimum Rental Payments Under Lease Agreements</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_01611107EAF1D990C3761A282F754B4B_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_01611107EAF1D990C3761A282F754B4B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Future Minimum Rental Payments for Operating Leases [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_01611107EAF1D990C3761A282F754B4B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_01611107EAF1D990C3761A282F754B4B" xlink:to="lab_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_01611107EAF1D990C3761A282F754B4B" xlink:type="arc" />
    <link:label id="lab_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6_terseLabel_en-US" xlink:label="lab_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Future Minimum Rental Receipts Under Non - Cancelable Lease Agreements</link:label>
    <link:label id="lab_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6_label_en-US" xlink:label="lab_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule Of Future Minimum Rental Receipts For Operating Leases Table [Table Text Block]</link:label>
    <link:label id="lab_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6_documentation_en-US" xlink:label="lab_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Schedule of future minimum rental receipts for operating leases.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock" xlink:label="loc_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6" xlink:to="lab_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashFlowHedgingMember_480A4AB347EC1877B2231A282F8B12BC_terseLabel_en-US" xlink:label="lab_us-gaap_CashFlowHedgingMember_480A4AB347EC1877B2231A282F8B12BC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive income (loss), net of tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_480A4AB347EC1877B2231A282F8B12BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashFlowHedgingMember_480A4AB347EC1877B2231A282F8B12BC" xlink:to="lab_us-gaap_CashFlowHedgingMember_480A4AB347EC1877B2231A282F8B12BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product Revenue</link:label>
    <link:label id="lab_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236_label_en-US" xlink:label="lab_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sales Revenue, Goods, Net [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueGoodsNetMember" xlink:label="loc_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236" xlink:to="lab_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Research, development, and engineering expenses</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560" xlink:type="arc" />
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Selling, general and administrative expenses</link:label>
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency gain (loss)</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Gain (Loss) [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40" xlink:to="lab_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_20B2F49E83887CA209FB1A282F8B5BE7_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_20B2F49E83887CA209FB1A282F8B5BE7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) recorded in shareholders' equity (effective portion)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_20B2F49E83887CA209FB1A282F8B5BE7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_20B2F49E83887CA209FB1A282F8B5BE7" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_20B2F49E83887CA209FB1A282F8B5BE7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) reclassified from accumulated other comprehensive income (loss) into net income (effective portion)</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into net income</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Gain (Loss) on Derivative, Net [Abstract]</link:label>
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE_label_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative, Gain (Loss) on Derivative, Net [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNetAbstract" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:to="lab_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) recognized in net income on derivatives (ineffective portion and discontinued derivatives)</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Recognized in Income, Ineffective Portion and Amount Excluded from Effectiveness Testing, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) recognized in net income</link:label>
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9_label_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative, Gain (Loss) on Derivative, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9" xlink:to="lab_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_8EF04120944303B7094F1A2830C5496A_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract_8EF04120944303B7094F1A2830C5496A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_8EF04120944303B7094F1A2830C5496A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_8EF04120944303B7094F1A2830C5496A" xlink:to="lab_us-gaap_InventoryDisclosureAbstract_8EF04120944303B7094F1A2830C5496A" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_9AF6B2DBA93FE391D7181A2830C5A5AF_verboseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock_9AF6B2DBA93FE391D7181A2830C5A5AF" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_9AF6B2DBA93FE391D7181A2830C5A5AF_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock_9AF6B2DBA93FE391D7181A2830C5A5AF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_9AF6B2DBA93FE391D7181A2830C5A5AF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock_9AF6B2DBA93FE391D7181A2830C5A5AF" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock_9AF6B2DBA93FE391D7181A2830C5A5AF" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</link:label>
    <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99_label_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:to="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:type="arc" />
    <link:label id="lab_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Type of Adoption [Domain]</link:label>
    <link:label id="lab_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484_label_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Type of Adoption [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:to="lab_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:type="arc" />
    <link:label id="lab_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD_terseLabel_en-US" xlink:label="lab_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-09, Statutory Tax Withholding Component [Member]</link:label>
    <link:label id="lab_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD_label_en-US" xlink:label="lab_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-09, Statutory Tax Withholding Component [Member]</link:label>
    <link:label id="lab_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD_documentation_en-US" xlink:label="lab_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-09, Statutory Tax Withholding Component [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember" xlink:label="loc_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:to="lab_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2015-17 [Member]</link:label>
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2015-17 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingStandardsUpdate201517Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8" xlink:to="lab_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8" xlink:type="arc" />
    <link:label id="lab_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852_terseLabel_en-US" xlink:label="lab_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-US [Member]</link:label>
    <link:label id="lab_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852_label_en-US" xlink:label="lab_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Non-US [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NonUsMember" xlink:label="loc_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852" xlink:to="lab_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue Commissioners, Ireland [Member]</link:label>
    <link:label id="lab_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7_label_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue Commissioners, Ireland [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7" xlink:to="lab_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2_terseLabel_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State Administration of Taxation, China [Member]</link:label>
    <link:label id="lab_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2_label_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State Administration of Taxation, China [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2" xlink:to="lab_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign Tax Authority [Member]</link:label>
    <link:label id="lab_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237_label_en-US" xlink:label="lab_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Tax Authority [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237" xlink:to="lab_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237" xlink:type="arc" />
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward [Axis]</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="loc_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:to="lab_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:type="arc" />
    <link:label id="lab_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5_terseLabel_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5_label_en-US" xlink:label="lab_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Credit Carryforward, Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:to="lab_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Research Tax Credit Carryforward [Member]</link:label>
    <link:label id="lab_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73_label_en-US" xlink:label="lab_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research Tax Credit Carryforward [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchMember" xlink:label="loc_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73" xlink:to="lab_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73" xlink:type="arc" />
    <link:label id="lab_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241_terseLabel_en-US" xlink:label="lab_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State Research And Experimentation [Member]</link:label>
    <link:label id="lab_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241_label_en-US" xlink:label="lab_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State Research And Experimentation [Member]</link:label>
    <link:label id="lab_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241_documentation_en-US" xlink:label="lab_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">State research and experimentation.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_StateResearchAndExperimentationMember" xlink:label="loc_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:to="lab_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Domestic income from continuing operations before taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign income from continuing operations before taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1_verboseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Income tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Foreign tax rate differential</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909" xlink:type="arc" />
    <link:label id="lab_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12_terseLabel_en-US" xlink:label="lab_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Undistributed earnings of foreign subsidiaries</link:label>
    <link:label id="lab_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12_label_en-US" xlink:label="lab_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Undistributed Earnings of Foreign Subsidiaries</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12" xlink:to="lab_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax liability not recognized, on undistributed earnings of foreign subsidiaries</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="loc_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E" xlink:to="lab_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954_terseLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash, cash equivalents, and investments</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash, Cash Equivalents, and Short-term Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:label="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954" xlink:to="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954" xlink:type="arc" />
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA_terseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reduction of income tax expense for adoption of ASU 2016-09</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA_label_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Amount</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA_documentation_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Amount</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:type="arc" />
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91_terseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Discrete tax benefit related to employee stock option exercises</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91_label_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91_documentation_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Net cash used in financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax penalties and interest expense</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax liabilities, gross</link:label>
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7_label_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Liabilities, Gross, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGrossNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7" xlink:type="arc" />
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2_terseLabel_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets</link:label>
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2_label_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets</link:label>
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2_documentation_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:to="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest and penalties, gross</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2" xlink:type="arc" />
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF_terseLabel_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Minimum decrease in income tax expense due to release in reserves</link:label>
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF_label_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum Decrease In Income Tax Expense Due To Release In Reserves</link:label>
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF_documentation_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Minimum decrease in income tax expense due to release in reserves.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:to="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:type="arc" />
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C_terseLabel_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum decrease in income tax expense due to release in reserves</link:label>
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C_label_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Decrease In Income Tax Expense Due To Release In Reserves</link:label>
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C_documentation_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Maximum decrease in income tax expense due to release in reserves.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:to="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax assets, current</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsNetCurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103" xlink:to="lab_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_F017A685DE955CE7DBE23F08E4D408E0_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_F017A685DE955CE7DBE23F08E4D408E0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non deductible federal and state liabilities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_F017A685DE955CE7DBE23F08E4D408E0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_F017A685DE955CE7DBE23F08E4D408E0" xlink:to="lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_F017A685DE955CE7DBE23F08E4D408E0" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred tax assets, tax credit carryforwards, research</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Tax Credit Carryforwards, Research</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73" xlink:to="lab_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax paid net</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Taxes Paid, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67" xlink:to="lab_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67" xlink:type="arc" />
    <link:label id="lab_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F_terseLabel_en-US" xlink:label="lab_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Open Tax Year State Authorities</link:label>
    <link:label id="lab_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F_label_en-US" xlink:label="lab_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Open Tax Year State Authorities</link:label>
    <link:label id="lab_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F_documentation_en-US" xlink:label="lab_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Open Tax Year State Authorities</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OpenTaxYearStateAuthorities" xlink:label="loc_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:to="lab_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:type="arc" />
    <link:label id="lab_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC_terseLabel_en-US" xlink:label="lab_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Open tax year United States Internal Revenue Service</link:label>
    <link:label id="lab_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC_label_en-US" xlink:label="lab_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Open tax year United States Internal Revenue Service</link:label>
    <link:label id="lab_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC_documentation_en-US" xlink:label="lab_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Open tax years open to examination within the United States by the Internal Revenue Service</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OpentaxyearUnitedStatesInternalRevenueService" xlink:label="loc_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:to="lab_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:type="arc" />
    <link:label id="lab_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE_terseLabel_en-US" xlink:label="lab_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Open tax year, various taxing authorities</link:label>
    <link:label id="lab_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE_label_en-US" xlink:label="lab_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Open tax year, various taxing authorities</link:label>
    <link:label id="lab_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE_documentation_en-US" xlink:label="lab_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Open tax year, various taxing authorities</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Opentaxyearvarioustaxingauthorities" xlink:label="loc_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:to="lab_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:type="arc" />
    <link:label id="lab_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04_terseLabel_en-US" xlink:label="lab_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax Years Covered Through Advanced Pricing Agreement</link:label>
    <link:label id="lab_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04_label_en-US" xlink:label="lab_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax Years Covered Through Advanced Pricing Agreement</link:label>
    <link:label id="lab_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04_documentation_en-US" xlink:label="lab_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tax years covered through Advanced Pricing Agreement.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement" xlink:label="loc_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:to="lab_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:type="arc" />
    <link:label id="lab_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D_terseLabel_en-US" xlink:label="lab_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax years for APA agreement</link:label>
    <link:label id="lab_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D_label_en-US" xlink:label="lab_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax years for APA agreement</link:label>
    <link:label id="lab_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D_documentation_en-US" xlink:label="lab_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tax years for APA agreement</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_TaxyearsforAPAagreement" xlink:label="loc_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:to="lab_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:type="arc" />
    <link:label id="lab_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686_terseLabel_en-US" xlink:label="lab_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State research and experimentation tax carryforwards</link:label>
    <link:label id="lab_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686_label_en-US" xlink:label="lab_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State research and experimentation tax carryforwards</link:label>
    <link:label id="lab_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686_documentation_en-US" xlink:label="lab_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">State research and experimentation tax carryforwards</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Stateresearchandexperimentationtaxcarryforwards" xlink:label="loc_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:to="lab_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetIncomeLoss_806CABC648298D04C4201A2830414BB9_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_806CABC648298D04C4201A2830414BB9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_806CABC648298D04C4201A2830414BB9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss_806CABC648298D04C4201A2830414BB9" xlink:to="lab_us-gaap_NetIncomeLoss_806CABC648298D04C4201A2830414BB9" xlink:type="arc" />
    <link:label id="lab_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9_terseLabel_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flow hedges:</link:label>
    <link:label id="lab_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9_label_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows hedges [Abstract]</link:label>
    <link:label id="lab_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9_documentation_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Cash flows hedges [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CashflowshedgesAbstract" xlink:label="loc_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:to="lab_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_B2DB9C686A32409128FC1A28304176F6_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_B2DB9C686A32409128FC1A28304176F6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss), net of tax of ($22), $22, and $0 in 2016, 2015, and 2014, respectively</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_B2DB9C686A32409128FC1A28304176F6_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_B2DB9C686A32409128FC1A28304176F6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_B2DB9C686A32409128FC1A28304176F6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_B2DB9C686A32409128FC1A28304176F6" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_B2DB9C686A32409128FC1A28304176F6" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_9E199E5FEF79F40521CD1A283041B95B_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_9E199E5FEF79F40521CD1A283041B95B" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Reclassification of net realized (gain) loss into current operations</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_9E199E5FEF79F40521CD1A283041B95B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_9E199E5FEF79F40521CD1A283041B95B" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_9E199E5FEF79F40521CD1A283041B95B" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_5D190BFE7F249F49E6E11A283041E287_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_5D190BFE7F249F49E6E11A283041E287" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change related to cash flow hedges</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_5D190BFE7F249F49E6E11A283041E287_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_5D190BFE7F249F49E6E11A283041E287" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_5D190BFE7F249F49E6E11A283041E287" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_5D190BFE7F249F49E6E11A283041E287" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_5D190BFE7F249F49E6E11A283041E287" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Available-for-sale investments:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:to="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_66AC0E712847894A8A2C1A283042E608_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_66AC0E712847894A8A2C1A283042E608" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss), net of tax of $248, ($279), and $40 in 2016, 2015, and 2014, respectively</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_66AC0E712847894A8A2C1A283042E608_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_66AC0E712847894A8A2C1A283042E608" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_66AC0E712847894A8A2C1A283042E608" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_66AC0E712847894A8A2C1A283042E608" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_66AC0E712847894A8A2C1A283042E608" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ACCAFB10000FABE072301A28304250B0_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ACCAFB10000FABE072301A28304250B0" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Reclassification of net realized (gain) loss into current operations</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ACCAFB10000FABE072301A28304250B0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ACCAFB10000FABE072301A28304250B0" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ACCAFB10000FABE072301A28304250B0" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_F0B1342D8ABC15EC13E91A283042BA23_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_F0B1342D8ABC15EC13E91A283042BA23" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change related to available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_F0B1342D8ABC15EC13E91A283042BA23_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_F0B1342D8ABC15EC13E91A283042BA23" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_F0B1342D8ABC15EC13E91A283042BA23" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_F0B1342D8ABC15EC13E91A283042BA23" xlink:to="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_F0B1342D8ABC15EC13E91A283042BA23" xlink:type="arc" />
    <link:label id="lab_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E_terseLabel_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustments:</link:label>
    <link:label id="lab_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E_label_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Currency translation adjustment [Abstract]</link:label>
    <link:label id="lab_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E_documentation_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Currency translation adjustment [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CurrencytranslationadjustmentAbstract" xlink:label="loc_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:to="lab_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_F4B39C8045255BF641801A2830420930_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_F4B39C8045255BF641801A2830420930" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustments, net of tax of ($228), ($711) and ($870) in 2016, 2015, and 2014, respectively</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_F4B39C8045255BF641801A2830420930_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_F4B39C8045255BF641801A2830420930" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_F4B39C8045255BF641801A2830420930" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_F4B39C8045255BF641801A2830420930" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_F4B39C8045255BF641801A2830420930" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_42E8D1BAE7CD1249D4BB1A283042268E_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_42E8D1BAE7CD1249D4BB1A283042268E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net change related to foreign currency translation adjustments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_42E8D1BAE7CD1249D4BB1A283042268E_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_42E8D1BAE7CD1249D4BB1A283042268E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_42E8D1BAE7CD1249D4BB1A283042268E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_42E8D1BAE7CD1249D4BB1A283042268E" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_42E8D1BAE7CD1249D4BB1A283042268E" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_27396C711787FA800FFA1A28304285A6_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_27396C711787FA800FFA1A28304285A6" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss), net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_27396C711787FA800FFA1A28304285A6_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_27396C711787FA800FFA1A28304285A6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_27396C711787FA800FFA1A28304285A6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_27396C711787FA800FFA1A28304285A6" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_27396C711787FA800FFA1A28304285A6" xlink:type="arc" />
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_7E42B5A6D5D82EC81F361A28304317E9_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax_7E42B5A6D5D82EC81F361A28304317E9" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_7E42B5A6D5D82EC81F361A28304317E9_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax_7E42B5A6D5D82EC81F361A28304317E9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_7E42B5A6D5D82EC81F361A28304317E9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_7E42B5A6D5D82EC81F361A28304317E9" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax_7E42B5A6D5D82EC81F361A28304317E9" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_B9749587511587D542AF1A283109C58D_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_B9749587511587D542AF1A283109C58D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, Plant, and Equipment</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_B9749587511587D542AF1A283109C58D_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_B9749587511587D542AF1A283109C58D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_B9749587511587D542AF1A283109C58D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_B9749587511587D542AF1A283109C58D" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentTextBlock_B9749587511587D542AF1A283109C58D" xlink:type="arc" />
    <link:label id="lab_us-gaap_GuaranteesAbstract_3AB4598AA74075717C771A28310BAF74_label_en-US" xlink:label="lab_us-gaap_GuaranteesAbstract_3AB4598AA74075717C771A28310BAF74" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Guarantees [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GuaranteesAbstract" xlink:label="loc_us-gaap_GuaranteesAbstract_3AB4598AA74075717C771A28310BAF74" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GuaranteesAbstract_3AB4598AA74075717C771A28310BAF74" xlink:to="lab_us-gaap_GuaranteesAbstract_3AB4598AA74075717C771A28310BAF74" xlink:type="arc" />
    <link:label id="lab_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955_terseLabel_en-US" xlink:label="lab_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Indemnification Provisions</link:label>
    <link:label id="lab_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955_label_en-US" xlink:label="lab_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Indemnification Provisions [Text Block]</link:label>
    <link:label id="lab_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955_documentation_en-US" xlink:label="lab_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Indemnification provisions are a potential liability whereby the Company indemnifies certain directors, officers, and employees (current or former) against expenses incurred by them in relation to specific legal proceedings. The company also indemnifies other parties for specific situations.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_IndemnificationProvisionsTextBlock" xlink:label="loc_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955" xlink:to="lab_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Future minimum rental receipts under non-cancelable lease agreements</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Receivable [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_AC24657E30F6E07581F51A282F83CE45_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_AC24657E30F6E07581F51A282F83CE45" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2016</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_AC24657E30F6E07581F51A282F83CE45_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_AC24657E30F6E07581F51A282F83CE45" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Receivable, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_AC24657E30F6E07581F51A282F83CE45" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_AC24657E30F6E07581F51A282F83CE45" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_AC24657E30F6E07581F51A282F83CE45" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_84E2B9E7FB4FDC643A0F1A282F83CF59_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_84E2B9E7FB4FDC643A0F1A282F83CF59" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2017</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_84E2B9E7FB4FDC643A0F1A282F83CF59_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_84E2B9E7FB4FDC643A0F1A282F83CF59" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Receivable, in Two Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_84E2B9E7FB4FDC643A0F1A282F83CF59" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_84E2B9E7FB4FDC643A0F1A282F83CF59" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_84E2B9E7FB4FDC643A0F1A282F83CF59" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_1987FCBADC99472048E11A282F832EA4_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_1987FCBADC99472048E11A282F832EA4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2018</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_1987FCBADC99472048E11A282F832EA4_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_1987FCBADC99472048E11A282F832EA4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Receivable, in Three Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_1987FCBADC99472048E11A282F832EA4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_1987FCBADC99472048E11A282F832EA4" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_1987FCBADC99472048E11A282F832EA4" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_227981019EBB62C0108C1A282F83A236_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_227981019EBB62C0108C1A282F83A236" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2019</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_227981019EBB62C0108C1A282F83A236_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_227981019EBB62C0108C1A282F83A236" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Receivable, in Four Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_227981019EBB62C0108C1A282F83A236" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_227981019EBB62C0108C1A282F83A236" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_227981019EBB62C0108C1A282F83A236" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_E69E97B07C7B0F830AF81A282F83D08F_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_E69E97B07C7B0F830AF81A282F83D08F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_E69E97B07C7B0F830AF81A282F83D08F_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_E69E97B07C7B0F830AF81A282F83D08F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Receivable, in Five Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_E69E97B07C7B0F830AF81A282F83D08F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_E69E97B07C7B0F830AF81A282F83D08F" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_E69E97B07C7B0F830AF81A282F83D08F" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_35080A8DE246CBF3E8A81A282F839795_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_35080A8DE246CBF3E8A81A282F839795" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_35080A8DE246CBF3E8A81A282F839795_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_35080A8DE246CBF3E8A81A282F839795" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Receivable, Thereafter</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_35080A8DE246CBF3E8A81A282F839795" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_35080A8DE246CBF3E8A81A282F839795" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_35080A8DE246CBF3E8A81A282F839795" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_888D8CD232D0E0D23E631A282F84A7FB_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_888D8CD232D0E0D23E631A282F84A7FB" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_888D8CD232D0E0D23E631A282F84A7FB_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_888D8CD232D0E0D23E631A282F84A7FB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Leases, Future Minimum Payments Receivable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_888D8CD232D0E0D23E631A282F84A7FB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_888D8CD232D0E0D23E631A282F84A7FB" xlink:to="lab_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_888D8CD232D0E0D23E631A282F84A7FB" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Nonrecurring</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Nonrecurring [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsNonrecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46" xlink:to="lab_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value of limited partnership</link:label>
    <link:label id="lab_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6_label_en-US" xlink:label="lab_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments in Affiliates, Subsidiaries, Associates, and Joint Ventures, Fair Value Disclosure</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure" xlink:label="loc_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6" xlink:to="lab_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_E4B12A1D44B72DAC37CA1A2830E5C5CE_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_E4B12A1D44B72DAC37CA1A2830E5C5CE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_E4B12A1D44B72DAC37CA1A2830E5C5CE_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_E4B12A1D44B72DAC37CA1A2830E5C5CE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_E4B12A1D44B72DAC37CA1A2830E5C5CE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_E4B12A1D44B72DAC37CA1A2830E5C5CE" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_E4B12A1D44B72DAC37CA1A2830E5C5CE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-Based Compensation, Allocation of Recognized Period Costs, by Report Line [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:to="lab_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C_verboseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Allocation of Recognized Period Costs, Report Line [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:to="lab_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:type="arc" />
    <link:label id="lab_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA_terseLabel_en-US" xlink:label="lab_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product cost of revenue [Member]</link:label>
    <link:label id="lab_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA_label_en-US" xlink:label="lab_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Cost Of Revenue [Member]</link:label>
    <link:label id="lab_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA_documentation_en-US" xlink:label="lab_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Product cost of revenue.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ProductCostOfRevenueMember" xlink:label="loc_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:to="lab_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:type="arc" />
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424_terseLabel_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Selling, general, and administrative [Member]</link:label>
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424_label_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling General And Administrative [Member]</link:label>
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424_documentation_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Selling, general, and administrative.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:to="lab_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax benefit recognized related to stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Tax Benefit from Compensation Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759" xlink:type="arc" />
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274_terseLabel_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Compensation expense capitalized</link:label>
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274_label_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount</link:label>
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274_documentation_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Employee service share based compensation recognized period costs capitalized amount.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:to="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_96FA3649FADE698B3DF91A2830EE1C62_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_96FA3649FADE698B3DF91A2830EE1C62" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Asset, Fair Value, Gross Asset</link:label>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_96FA3649FADE698B3DF91A2830EE1C62_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_96FA3649FADE698B3DF91A2830EE1C62" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset, Fair Value, Gross Asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_96FA3649FADE698B3DF91A2830EE1C62" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_96FA3649FADE698B3DF91A2830EE1C62" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_96FA3649FADE698B3DF91A2830EE1C62" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C4619B84071594BCE6F41A2830EE630E_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C4619B84071594BCE6F41A2830EE630E" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Derivative Asset gross amount offset</link:label>
    <link:label id="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C4619B84071594BCE6F41A2830EE630E_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C4619B84071594BCE6F41A2830EE630E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset, Collateral, Obligation to Return Cash, Offset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C4619B84071594BCE6F41A2830EE630E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C4619B84071594BCE6F41A2830EE630E" xlink:to="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C4619B84071594BCE6F41A2830EE630E" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssets_DAEE1568B1A10B8669FC1A2830EEAA8D_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets_DAEE1568B1A10B8669FC1A2830EEAA8D" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net amount of assets presented</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_DAEE1568B1A10B8669FC1A2830EEAA8D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets_DAEE1568B1A10B8669FC1A2830EEAA8D" xlink:to="lab_us-gaap_DerivativeAssets_DAEE1568B1A10B8669FC1A2830EEAA8D" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_03776EE0374B2A603A191A2830EE8FC2_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_03776EE0374B2A603A191A2830EE8FC2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Liability, Fair Value, Gross Liability</link:label>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_03776EE0374B2A603A191A2830EE8FC2_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_03776EE0374B2A603A191A2830EE8FC2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Liability, Fair Value, Gross Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_03776EE0374B2A603A191A2830EE8FC2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_03776EE0374B2A603A191A2830EE8FC2" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_03776EE0374B2A603A191A2830EE8FC2" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_C04E4D208FBED7F302E01A2830EEA0F4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_C04E4D208FBED7F302E01A2830EEA0F4" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Derivative liability gross amount offset</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_C04E4D208FBED7F302E01A2830EEA0F4_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_C04E4D208FBED7F302E01A2830EEA0F4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Liability, Collateral, Right to Reclaim Cash, Offset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_C04E4D208FBED7F302E01A2830EEA0F4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_C04E4D208FBED7F302E01A2830EEA0F4" xlink:to="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_C04E4D208FBED7F302E01A2830EEA0F4" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilities_731BB1C2A1137B7BE7201A2830EED495_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_731BB1C2A1137B7BE7201A2830EED495" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net amount of liabilities presented</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_731BB1C2A1137B7BE7201A2830EED495" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities_731BB1C2A1137B7BE7201A2830EED495" xlink:to="lab_us-gaap_DerivativeLiabilities_731BB1C2A1137B7BE7201A2830EED495" xlink:type="arc" />
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F_label_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:to="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_E47A9F3EED9BC0F0EB7A1A282F040B1F_periodStartLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_E47A9F3EED9BC0F0EB7A1A282F040B1F" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning Balance</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_E47A9F3EED9BC0F0EB7A1A282F040B1F_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_E47A9F3EED9BC0F0EB7A1A282F040B1F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_E47A9F3EED9BC0F0EB7A1A282F040B1F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual_E47A9F3EED9BC0F0EB7A1A282F040B1F" xlink:to="lab_us-gaap_ProductWarrantyAccrual_E47A9F3EED9BC0F0EB7A1A282F040B1F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_9B9DD189D30B9559D5F61A282F048973_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_9B9DD189D30B9559D5F61A282F048973" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Provisions for warranties issued during the period</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_9B9DD189D30B9559D5F61A282F048973_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_9B9DD189D30B9559D5F61A282F048973" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Increase for Warranties Issued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_9B9DD189D30B9559D5F61A282F048973" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_9B9DD189D30B9559D5F61A282F048973" xlink:to="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_9B9DD189D30B9559D5F61A282F048973" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_9D0D60CAB3D91ECEA4D61A282F05B463_negatedLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments_9D0D60CAB3D91ECEA4D61A282F05B463" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Fulfillment of warranty obligations</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_9D0D60CAB3D91ECEA4D61A282F05B463_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments_9D0D60CAB3D91ECEA4D61A282F05B463" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Decrease for Payments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_9D0D60CAB3D91ECEA4D61A282F05B463" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualPayments_9D0D60CAB3D91ECEA4D61A282F05B463" xlink:to="lab_us-gaap_ProductWarrantyAccrualPayments_9D0D60CAB3D91ECEA4D61A282F05B463" xlink:type="arc" />
    <link:label id="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2BFE44498FC1F25CB6721A282F05851D_terseLabel_en-US" xlink:label="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2BFE44498FC1F25CB6721A282F05851D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign exchange rate changes</link:label>
    <link:label id="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2BFE44498FC1F25CB6721A282F05851D_label_en-US" xlink:label="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2BFE44498FC1F25CB6721A282F05851D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Foreign Currency Translation Gain (Loss)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2BFE44498FC1F25CB6721A282F05851D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2BFE44498FC1F25CB6721A282F05851D" xlink:to="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2BFE44498FC1F25CB6721A282F05851D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_471D37688C2C4AF4C6181A282F0509F1_periodEndLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_471D37688C2C4AF4C6181A282F0509F1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_471D37688C2C4AF4C6181A282F0509F1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual_471D37688C2C4AF4C6181A282F0509F1" xlink:to="lab_us-gaap_ProductWarrantyAccrual_471D37688C2C4AF4C6181A282F0509F1" xlink:type="arc" />
    <link:label id="lab_cgnx_DocumentDocumentandEntityInformationAbstract_91BC62BDCC55D005DAE51A2830193367_label_en-US" xlink:label="lab_cgnx_DocumentDocumentandEntityInformationAbstract_91BC62BDCC55D005DAE51A2830193367" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Documentand Entity Information [Abstract]</link:label>
    <link:label id="lab_cgnx_DocumentDocumentandEntityInformationAbstract_91BC62BDCC55D005DAE51A2830193367_documentation_en-US" xlink:label="lab_cgnx_DocumentDocumentandEntityInformationAbstract_91BC62BDCC55D005DAE51A2830193367" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Document Documentand Entity Information [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DocumentDocumentandEntityInformationAbstract" xlink:label="loc_cgnx_DocumentDocumentandEntityInformationAbstract_91BC62BDCC55D005DAE51A2830193367" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DocumentDocumentandEntityInformationAbstract_91BC62BDCC55D005DAE51A2830193367" xlink:to="lab_cgnx_DocumentDocumentandEntityInformationAbstract_91BC62BDCC55D005DAE51A2830193367" xlink:type="arc" />
    <link:label id="lab_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE_terseLabel_en-US" xlink:label="lab_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:label id="lab_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE_label_en-US" xlink:label="lab_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Information [Table]</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentInformationTable" xlink:label="loc_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:to="lab_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:type="arc" />
    <link:label id="lab_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014_terseLabel_en-US" xlink:label="lab_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Information [Line Items]</link:label>
    <link:label id="lab_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014_label_en-US" xlink:label="lab_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Information [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityInformationLineItems" xlink:label="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="lab_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:type="arc" />
    <link:label id="lab_dei_DocumentType_0362FF4E06E80783BCB11A2830197270_terseLabel_en-US" xlink:label="lab_dei_DocumentType_0362FF4E06E80783BCB11A2830197270" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_0362FF4E06E80783BCB11A2830197270_label_en-US" xlink:label="lab_dei_DocumentType_0362FF4E06E80783BCB11A2830197270" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_0362FF4E06E80783BCB11A2830197270" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType_0362FF4E06E80783BCB11A2830197270" xlink:to="lab_dei_DocumentType_0362FF4E06E80783BCB11A2830197270" xlink:type="arc" />
    <link:label id="lab_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0_label_en-US" xlink:label="lab_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0" xlink:to="lab_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0" xlink:type="arc" />
    <link:label id="lab_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C" xlink:to="lab_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C" xlink:type="arc" />
    <link:label id="lab_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542" xlink:to="lab_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542" xlink:type="arc" />
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277" xlink:to="lab_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277" xlink:type="arc" />
    <link:label id="lab_dei_TradingSymbol_2FB165532C11708201011A2830199A03_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol_2FB165532C11708201011A2830199A03" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_2FB165532C11708201011A2830199A03_label_en-US" xlink:label="lab_dei_TradingSymbol_2FB165532C11708201011A2830199A03" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_TradingSymbol" xlink:label="loc_dei_TradingSymbol_2FB165532C11708201011A2830199A03" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol_2FB165532C11708201011A2830199A03" xlink:to="lab_dei_TradingSymbol_2FB165532C11708201011A2830199A03" xlink:type="arc" />
    <link:label id="lab_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D_label_en-US" xlink:label="lab_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D" xlink:to="lab_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D" xlink:type="arc" />
    <link:label id="lab_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481" xlink:to="lab_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481" xlink:type="arc" />
    <link:label id="lab_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF" xlink:to="lab_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF" xlink:type="arc" />
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971_terseLabel_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:label id="lab_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971_label_en-US" xlink:label="lab_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971" xlink:to="lab_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971" xlink:type="arc" />
    <link:label id="lab_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2" xlink:to="lab_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2" xlink:type="arc" />
    <link:label id="lab_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1_terseLabel_en-US" xlink:label="lab_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:label id="lab_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1_label_en-US" xlink:label="lab_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1" xlink:to="lab_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1" xlink:type="arc" />
    <link:label id="lab_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997_label_en-US" xlink:label="lab_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997" xlink:to="lab_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997" xlink:type="arc" />
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C" xlink:to="lab_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C" xlink:type="arc" />
    <link:label id="lab_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271_terseLabel_en-US" xlink:label="lab_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Public Float</link:label>
    <link:label id="lab_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271_label_en-US" xlink:label="lab_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Public Float</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityPublicFloat" xlink:label="loc_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271" xlink:to="lab_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271" xlink:type="arc" />
    <link:label id="lab_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="lab_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:type="arc" />
    <link:label id="lab_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077_terseLabel_en-US" xlink:label="lab_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Previous Company Segments [Member]</link:label>
    <link:label id="lab_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077_label_en-US" xlink:label="lab_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Previous Company Segments [Member]</link:label>
    <link:label id="lab_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077_documentation_en-US" xlink:label="lab_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Previous Company Segments [Member]</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_PreviousCompanySegmentsMember" xlink:label="loc_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:to="lab_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:type="arc" />
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:to="lab_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:type="arc" />
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:to="lab_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:type="arc" />
    <link:label id="lab_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A_verboseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Total Revenue</link:label>
    <link:label id="lab_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sales Revenue, Net [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A" xlink:to="lab_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:to="lab_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:to="lab_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:type="arc" />
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB_verboseLabel_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Revenue from a single customer, percentage</link:label>
    <link:label id="lab_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB_label_en-US" xlink:label="lab_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB" xlink:to="lab_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB" xlink:type="arc" />
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2_terseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:to="lab_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:type="arc" />
    <link:label id="lab_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70_label_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="loc_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70" xlink:to="lab_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70" xlink:type="arc" />
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34_verboseLabel_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Maximum percentage of revenue accountability</link:label>
    <link:label id="lab_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34_label_en-US" xlink:label="lab_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34" xlink:to="lab_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares available for grant under stock option plans</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vesting period for stock option plans</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4" xlink:type="arc" />
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70_terseLabel_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expiration period of stock option plan</link:label>
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70_label_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expiration Period Of Stock Option Plan</link:label>
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70_documentation_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Expiration period of stock option plan.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:to="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:type="arc" />
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90_terseLabel_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Number of groups within the employee population</link:label>
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90_label_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number Of Groups Within Employee Population</link:label>
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90_documentation_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of groups within employee population.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:to="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:type="arc" />
    <link:label id="lab_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862_terseLabel_en-US" xlink:label="lab_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Percentage of stock options granted to all other employees expected to vest</link:label>
    <link:label id="lab_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862_label_en-US" xlink:label="lab_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Percentage Of Stock Options Granted To All Other Employees Expected To Vest</link:label>
    <link:label id="lab_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862_documentation_en-US" xlink:label="lab_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of stock options granted to all other employees expected to vest.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest" xlink:label="loc_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:to="lab_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:type="arc" />
    <link:label id="lab_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772_terseLabel_en-US" xlink:label="lab_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Percentage of stock options granted to senior management expected to vest</link:label>
    <link:label id="lab_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772_label_en-US" xlink:label="lab_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Percentage Of Stock Options Granted To Senior Management Expected To Vest</link:label>
    <link:label id="lab_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772_documentation_en-US" xlink:label="lab_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Percentage of stock options granted to senior management expected to vest.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest" xlink:label="loc_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:to="lab_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:type="arc" />
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Estimated forfeiture rate for unvested options for senior management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Estimated Forfeiture Rate For Unvested Options For Senior Management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Estimated forfeiture rate for unvested options for senior management.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:type="arc" />
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Estimated forfeiture rate for unvested options for all non-senior management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Estimated Forfeiture Rate For Unvested Options For All Non Senior Management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Estimated forfeiture rate for unvested options for all non-senior management.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:type="arc" />
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426_terseLabel_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates</link:label>
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426_label_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates</link:label>
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426_documentation_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Increase (decrease) in compensation expense due to revised estimated forfeiture rates.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:to="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-average grant-date fair values of stock options granted</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA" xlink:type="arc" />
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A_terseLabel_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total intrinsic values of stock options exercised</link:label>
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A_label_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Shares Based Compensation Arrangement By Shares Based Payment Award Options Exercisable Intrinsic Value</link:label>
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A_documentation_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:to="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total fair values of stock options vested</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Based Compensation Arrangement By Share Based Payment Award Options Vested Fair Value</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Share based compensation arrangement by share based payment award options vested fair value.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total unrecognized compensation expense related to non-vested stock options</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Stock Options</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_05F92148F330F286C2E31A9F917E82C8_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_05F92148F330F286C2E31A9F917E82C8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax provision at federal statutory corporate tax rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_05F92148F330F286C2E31A9F917E82C8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_05F92148F330F286C2E31A9F917E82C8" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_05F92148F330F286C2E31A9F917E82C8" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_6D477A970ED1C96B302B1A9F917E693C_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_6D477A970ED1C96B302B1A9F917E693C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State income taxes, net of federal benefit</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_6D477A970ED1C96B302B1A9F917E693C_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_6D477A970ED1C96B302B1A9F917E693C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_6D477A970ED1C96B302B1A9F917E693C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_6D477A970ED1C96B302B1A9F917E693C" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_6D477A970ED1C96B302B1A9F917E693C" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_32B4EF5AF78014FA6C321A9F917E1AB4_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_32B4EF5AF78014FA6C321A9F917E1AB4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign tax rate differential</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_32B4EF5AF78014FA6C321A9F917E1AB4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_32B4EF5AF78014FA6C321A9F917E1AB4" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_32B4EF5AF78014FA6C321A9F917E1AB4" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_75A78FBF8F5773106CA51A9F917ECFD1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_75A78FBF8F5773106CA51A9F917ECFD1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Tax credit</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_75A78FBF8F5773106CA51A9F917ECFD1_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_75A78FBF8F5773106CA51A9F917ECFD1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_75A78FBF8F5773106CA51A9F917ECFD1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_75A78FBF8F5773106CA51A9F917ECFD1" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_75A78FBF8F5773106CA51A9F917ECFD1" xlink:type="arc" />
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_58D1B1EEBEAB3D6B75271ACB3792FACC_negatedTerseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_58D1B1EEBEAB3D6B75271ACB3792FACC" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Discrete tax benefit related to employee stock option exercises</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_58D1B1EEBEAB3D6B75271ACB3792FACC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_58D1B1EEBEAB3D6B75271ACB3792FACC" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_58D1B1EEBEAB3D6B75271ACB3792FACC" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_C01BA56BC8EFE589DF651A9F917E1156_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_C01BA56BC8EFE589DF651A9F917E1156" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other discrete tax events</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_C01BA56BC8EFE589DF651A9F917E1156_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_C01BA56BC8EFE589DF651A9F917E1156" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_C01BA56BC8EFE589DF651A9F917E1156" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_C01BA56BC8EFE589DF651A9F917E1156" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_C01BA56BC8EFE589DF651A9F917E1156" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_83C1B55E197D3BAC9D721A9F917E2417_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_83C1B55E197D3BAC9D721A9F917E2417" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_83C1B55E197D3BAC9D721A9F917E2417_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_83C1B55E197D3BAC9D721A9F917E2417" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_83C1B55E197D3BAC9D721A9F917E2417" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_83C1B55E197D3BAC9D721A9F917E2417" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_83C1B55E197D3BAC9D721A9F917E2417" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_FD7A8F9AC148A31EE2501A9F917E14C7_totalLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_FD7A8F9AC148A31EE2501A9F917E14C7" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income tax provision on continuing operations</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_FD7A8F9AC148A31EE2501A9F917E14C7_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_FD7A8F9AC148A31EE2501A9F917E14C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_FD7A8F9AC148A31EE2501A9F917E14C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_FD7A8F9AC148A31EE2501A9F917E14C7" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_FD7A8F9AC148A31EE2501A9F917E14C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_10C49E8C6B301F6C55E91A282F6D0B26_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock_10C49E8C6B301F6C55E91A282F6D0B26" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_10C49E8C6B301F6C55E91A282F6D0B26_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock_10C49E8C6B301F6C55E91A282F6D0B26" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_10C49E8C6B301F6C55E91A282F6D0B26" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock_10C49E8C6B301F6C55E91A282F6D0B26" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock_10C49E8C6B301F6C55E91A282F6D0B26" xlink:type="arc" />
    <link:label id="lab_us-gaap_ValuationAllowancesAndReservesBalance_92468EC7348102936B541A2830E058E8_terseLabel_en-US" xlink:label="lab_us-gaap_ValuationAllowancesAndReservesBalance_92468EC7348102936B541A2830E058E8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Valuation Allowances and Reserves, Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_92468EC7348102936B541A2830E058E8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesBalance_92468EC7348102936B541A2830E058E8" xlink:to="lab_us-gaap_ValuationAllowancesAndReservesBalance_92468EC7348102936B541A2830E058E8" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_66FC9F6EC39402E501351A2830E03EDC_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare_66FC9F6EC39402E501351A2830E03EDC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock par value, in dollars per share</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_66FC9F6EC39402E501351A2830E03EDC_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare_66FC9F6EC39402E501351A2830E03EDC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_66FC9F6EC39402E501351A2830E03EDC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare_66FC9F6EC39402E501351A2830E03EDC" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare_66FC9F6EC39402E501351A2830E03EDC" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_10DF69A4BAF152F395CD1A2830E0265E_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_10DF69A4BAF152F395CD1A2830E0265E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares issued</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_10DF69A4BAF152F395CD1A2830E0265E_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_10DF69A4BAF152F395CD1A2830E0265E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_10DF69A4BAF152F395CD1A2830E0265E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_10DF69A4BAF152F395CD1A2830E0265E" xlink:to="lab_us-gaap_CommonStockSharesIssued_10DF69A4BAF152F395CD1A2830E0265E" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_E177CEB125958E2E709E1A2830E00556_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding_E177CEB125958E2E709E1A2830E00556" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares outstanding</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_E177CEB125958E2E709E1A2830E00556_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding_E177CEB125958E2E709E1A2830E00556" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_E177CEB125958E2E709E1A2830E00556" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding_E177CEB125958E2E709E1A2830E00556" xlink:to="lab_us-gaap_CommonStockSharesOutstanding_E177CEB125958E2E709E1A2830E00556" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_191B1BC5237E583765B41A283030C046_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock_191B1BC5237E583765B41A283030C046" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Changes in the Carrying Value of Goodwill</link:label>
    <link:label id="lab_us-gaap_ScheduleOfGoodwillTextBlock_191B1BC5237E583765B41A283030C046_label_en-US" xlink:label="lab_us-gaap_ScheduleOfGoodwillTextBlock_191B1BC5237E583765B41A283030C046" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_191B1BC5237E583765B41A283030C046" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfGoodwillTextBlock_191B1BC5237E583765B41A283030C046" xlink:to="lab_us-gaap_ScheduleOfGoodwillTextBlock_191B1BC5237E583765B41A283030C046" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_B6169231AA3DC52DBBAC1B15A8EF20AE_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_B6169231AA3DC52DBBAC1B15A8EF20AE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Indefinite-lived Intangible Assets Acquired as Part of Business Combination</link:label>
    <link:label id="lab_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_B6169231AA3DC52DBBAC1B15A8EF20AE_label_en-US" xlink:label="lab_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_B6169231AA3DC52DBBAC1B15A8EF20AE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Indefinite-lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:label="loc_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_B6169231AA3DC52DBBAC1B15A8EF20AE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_B6169231AA3DC52DBBAC1B15A8EF20AE" xlink:to="lab_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_B6169231AA3DC52DBBAC1B15A8EF20AE" xlink:type="arc" />
    <link:label id="lab_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61_terseLabel_en-US" xlink:label="lab_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Qualitative Assessment, years</link:label>
    <link:label id="lab_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61_label_en-US" xlink:label="lab_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Qualitative Assessment, years</link:label>
    <link:label id="lab_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61_documentation_en-US" xlink:label="lab_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Qualitative Assessment, years</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_QualitativeAssessmentyears" xlink:label="loc_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61" xlink:to="lab_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6" xlink:type="arc" />
    <link:label id="lab_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE" xlink:to="lab_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_1570AAF08217A8F29CD61E4C4B88294C_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_1570AAF08217A8F29CD61E4C4B88294C" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_1570AAF08217A8F29CD61E4C4B88294C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_1570AAF08217A8F29CD61E4C4B88294C" xlink:to="lab_us-gaap_StockholdersEquity_1570AAF08217A8F29CD61E4C4B88294C" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_74F9E78E47F2DD2E30391E4C4B8831DB_periodStartLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_74F9E78E47F2DD2E30391E4C4B8831DB" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning Balance, Shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_74F9E78E47F2DD2E30391E4C4B8831DB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_74F9E78E47F2DD2E30391E4C4B8831DB" xlink:to="lab_us-gaap_CommonStockSharesIssued_74F9E78E47F2DD2E30391E4C4B8831DB" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common stock under stock option plans</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C7D85C4FABD99DD4DB471E4C4B88DCF4_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C7D85C4FABD99DD4DB471E4C4B88DCF4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common stock under stock option plans, shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C7D85C4FABD99DD4DB471E4C4B88DCF4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C7D85C4FABD99DD4DB471E4C4B88DCF4" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C7D85C4FABD99DD4DB471E4C4B88DCF4" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_9C9DA41B5C78CFEAD40F1E4C4B8851A9_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_9C9DA41B5C78CFEAD40F1E4C4B8851A9" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_9C9DA41B5C78CFEAD40F1E4C4B8851A9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue_9C9DA41B5C78CFEAD40F1E4C4B8851A9" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue_9C9DA41B5C78CFEAD40F1E4C4B8851A9" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_0911C628809DDC4D47E01E4C4B889011_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_0911C628809DDC4D47E01E4C4B889011" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock, shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_0911C628809DDC4D47E01E4C4B889011" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares_0911C628809DDC4D47E01E4C4B889011" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares_0911C628809DDC4D47E01E4C4B889011" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Excess tax benefit from stock option exercises</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to Additional Paid in Capital, Income Tax Benefit from Share-based Compensation</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56" xlink:type="arc" />
    <link:label id="lab_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD_terseLabel_en-US" xlink:label="lab_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax benefit for research and development credits as a result of stock options</link:label>
    <link:label id="lab_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD_label_en-US" xlink:label="lab_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustment To Additional Paid In Capital Tax Benefit For Research And Development Credits As Result Of Stock Option Accounting</link:label>
    <link:label id="lab_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD_documentation_en-US" xlink:label="lab_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Adjustment To Additional Paid In Capital Tax Benefit For Research And Development Credits As Result Of Stock Option Accounting</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting" xlink:label="loc_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:to="lab_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Payment of dividends</link:label>
    <link:label id="lab_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9_label_en-US" xlink:label="lab_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends, Common Stock, Cash</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsCommonStockCash" xlink:label="loc_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9" xlink:to="lab_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_230FB332D73AE67AD5061E4C4B8853B7_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_230FB332D73AE67AD5061E4C4B8853B7" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss) on cash flow hedges, net of tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_230FB332D73AE67AD5061E4C4B8853B7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_230FB332D73AE67AD5061E4C4B8853B7" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_230FB332D73AE67AD5061E4C4B8853B7" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_83C91DD80BDACDE9DEC81E4C4B884A61_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_83C91DD80BDACDE9DEC81E4C4B884A61" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss) on available-for-sale investments, net of tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_83C91DD80BDACDE9DEC81E4C4B884A61" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_83C91DD80BDACDE9DEC81E4C4B884A61" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_83C91DD80BDACDE9DEC81E4C4B884A61" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_0240DF0E30457920A8711E4C4B881C40_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_0240DF0E30457920A8711E4C4B881C40" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Reclassification of net realized gain on the sale of available-for-sale investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_0240DF0E30457920A8711E4C4B881C40" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_0240DF0E30457920A8711E4C4B881C40" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_0240DF0E30457920A8711E4C4B881C40" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_9CC67F0484D6BC47F5221E4C4B886501_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_9CC67F0484D6BC47F5221E4C4B886501" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustments, net of tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_9CC67F0484D6BC47F5221E4C4B886501" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_9CC67F0484D6BC47F5221E4C4B886501" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_9CC67F0484D6BC47F5221E4C4B886501" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_711028EE9F28B04BDEBD1E4C4B88D1E9_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_711028EE9F28B04BDEBD1E4C4B88D1E9" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_711028EE9F28B04BDEBD1E4C4B88D1E9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_711028EE9F28B04BDEBD1E4C4B88D1E9" xlink:to="lab_us-gaap_StockholdersEquity_711028EE9F28B04BDEBD1E4C4B88D1E9" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_44FA7CDC6161060D966D1E4C4B888833_periodEndLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_44FA7CDC6161060D966D1E4C4B888833" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance, Shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_44FA7CDC6161060D966D1E4C4B888833" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_44FA7CDC6161060D966D1E4C4B888833" xlink:to="lab_us-gaap_CommonStockSharesIssued_44FA7CDC6161060D966D1E4C4B888833" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_A426CEF507125F8E87E01A282EF253C8_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves_A426CEF507125F8E87E01A282EF253C8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Raw materials</link:label>
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_A426CEF507125F8E87E01A282EF253C8_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves_A426CEF507125F8E87E01A282EF253C8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Raw Materials, Net of Reserves</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_A426CEF507125F8E87E01A282EF253C8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves_A426CEF507125F8E87E01A282EF253C8" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves_A426CEF507125F8E87E01A282EF253C8" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_0C4EACD463B7A4036FD41A282EF27E9D_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves_0C4EACD463B7A4036FD41A282EF27E9D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Work-in-process</link:label>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_0C4EACD463B7A4036FD41A282EF27E9D_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves_0C4EACD463B7A4036FD41A282EF27E9D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_0C4EACD463B7A4036FD41A282EF27E9D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcessNetOfReserves_0C4EACD463B7A4036FD41A282EF27E9D" xlink:to="lab_us-gaap_InventoryWorkInProcessNetOfReserves_0C4EACD463B7A4036FD41A282EF27E9D" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_74D2054CB7A2020A8DE31A282EF2A795_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_74D2054CB7A2020A8DE31A282EF2A795" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_74D2054CB7A2020A8DE31A282EF2A795_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_74D2054CB7A2020A8DE31A282EF2A795" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Finished Goods, Net of Reserves</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_74D2054CB7A2020A8DE31A282EF2A795" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_74D2054CB7A2020A8DE31A282EF2A795" xlink:to="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_74D2054CB7A2020A8DE31A282EF2A795" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryNet_0B3804AB6A176480C2F11A282EF2FB63_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet_0B3804AB6A176480C2F11A282EF2FB63" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_0B3804AB6A176480C2F11A282EF2FB63" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet_0B3804AB6A176480C2F11A282EF2FB63" xlink:to="lab_us-gaap_InventoryNet_0B3804AB6A176480C2F11A282EF2FB63" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_C3019D68DAFA3D14B7211A282F9C9DED_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_C3019D68DAFA3D14B7211A282F9C9DED" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_C3019D68DAFA3D14B7211A282F9C9DED_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_C3019D68DAFA3D14B7211A282F9C9DED" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_C3019D68DAFA3D14B7211A282F9C9DED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_C3019D68DAFA3D14B7211A282F9C9DED" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_C3019D68DAFA3D14B7211A282F9C9DED" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investment Type [Axis]</link:label>
    <link:label id="lab_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:to="lab_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investment Type Categorization [Domain]</link:label>
    <link:label id="lab_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:to="lab_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Short-term investments [Member]</link:label>
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270_label_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Short-term Investments [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270" xlink:to="lab_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270" xlink:type="arc" />
    <link:label id="lab_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F_terseLabel_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-term investments [Member]</link:label>
    <link:label id="lab_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F_label_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long Term Investments [Member]</link:label>
    <link:label id="lab_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F_documentation_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Long-term investments.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:to="lab_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Amortized Cost</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Debt Securities, Amortized Cost Basis</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross Unrealized Gains</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D_negatedLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Gross Unrealized Losses</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_45E465362445D5E0C8B71A282EE6D2D0_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_45E465362445D5E0C8B71A282EE6D2D0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Total</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_45E465362445D5E0C8B71A282EE6D2D0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_45E465362445D5E0C8B71A282EE6D2D0" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_45E465362445D5E0C8B71A282EE6D2D0" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_F1949350879FBD5B34CB1A282F436A65_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_F1949350879FBD5B34CB1A282F436A65" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Stock Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_F1949350879FBD5B34CB1A282F436A65_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_F1949350879FBD5B34CB1A282F436A65" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation, Stock Options, Activity [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_F1949350879FBD5B34CB1A282F436A65" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_F1949350879FBD5B34CB1A282F436A65" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_F1949350879FBD5B34CB1A282F436A65" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_43357972AA5758178E9C1A282F44F8D2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_43357972AA5758178E9C1A282F44F8D2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_43357972AA5758178E9C1A282F44F8D2_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_43357972AA5758178E9C1A282F44F8D2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_43357972AA5758178E9C1A282F44F8D2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_43357972AA5758178E9C1A282F44F8D2" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_43357972AA5758178E9C1A282F44F8D2" xlink:type="arc" />
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_22E48BF0A4B94ECECAFF1A282F441A4B_terseLabel_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_22E48BF0A4B94ECECAFF1A282F441A4B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Nonvested Restricted Stock Shares Activity [Table Text Block]</link:label>
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_22E48BF0A4B94ECECAFF1A282F441A4B_label_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_22E48BF0A4B94ECECAFF1A282F441A4B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Nonvested Restricted Stock Shares Activity [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_22E48BF0A4B94ECECAFF1A282F441A4B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_22E48BF0A4B94ECECAFF1A282F441A4B" xlink:to="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_22E48BF0A4B94ECECAFF1A282F441A4B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_8FBDDE9AAF0615BD76371A282F446D05_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_8FBDDE9AAF0615BD76371A282F446D05" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-Based Compensation Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_8FBDDE9AAF0615BD76371A282F446D05_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_8FBDDE9AAF0615BD76371A282F446D05" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_8FBDDE9AAF0615BD76371A282F446D05" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_8FBDDE9AAF0615BD76371A282F446D05" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_8FBDDE9AAF0615BD76371A282F446D05" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:type="arc" />
    <link:label id="lab_us-gaap_GainLossOnSaleOfBusiness_1DACEC20DA97E20D4DF91E4C4B937920_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfBusiness_1DACEC20DA97E20D4DF91E4C4B937920" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">(Gain) loss on sale of discontinued business</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfBusiness_1DACEC20DA97E20D4DF91E4C4B937920_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfBusiness_1DACEC20DA97E20D4DF91E4C4B937920" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gain (Loss) on Disposition of Business</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GainLossOnSaleOfBusiness" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_1DACEC20DA97E20D4DF91E4C4B937920" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfBusiness_1DACEC20DA97E20D4DF91E4C4B937920" xlink:to="lab_us-gaap_GainLossOnSaleOfBusiness_1DACEC20DA97E20D4DF91E4C4B937920" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockOptionPlanExpense_0FAA6E69E216458033541E4C4B93D9D8_terseLabel_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense_0FAA6E69E216458033541E4C4B93D9D8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_StockOptionPlanExpense_0FAA6E69E216458033541E4C4B93D9D8_label_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense_0FAA6E69E216458033541E4C4B93D9D8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock or Unit Option Plan Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_0FAA6E69E216458033541E4C4B93D9D8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockOptionPlanExpense_0FAA6E69E216458033541E4C4B93D9D8" xlink:to="lab_us-gaap_StockOptionPlanExpense_0FAA6E69E216458033541E4C4B93D9D8" xlink:type="arc" />
    <link:label id="lab_us-gaap_Depreciation_A7D0314072493358560E1E4C4B93752D_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation_A7D0314072493358560E1E4C4B93752D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_Depreciation_A7D0314072493358560E1E4C4B93752D_label_en-US" xlink:label="lab_us-gaap_Depreciation_A7D0314072493358560E1E4C4B93752D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_A7D0314072493358560E1E4C4B93752D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation_A7D0314072493358560E1E4C4B93752D" xlink:to="lab_us-gaap_Depreciation_A7D0314072493358560E1E4C4B93752D" xlink:type="arc" />
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_1C124FBCFC85C38396E31E4C4B930774_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets_1C124FBCFC85C38396E31E4C4B930774" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_1C124FBCFC85C38396E31E4C4B930774_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets_1C124FBCFC85C38396E31E4C4B930774" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_1C124FBCFC85C38396E31E4C4B930774" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets_1C124FBCFC85C38396E31E4C4B930774" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets_1C124FBCFC85C38396E31E4C4B930774" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_6C02D53AA0C33D727FF71E4C4B931853_negatedLabel_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_6C02D53AA0C33D727FF71E4C4B931853" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Amortization of discounts or premiums on investments</link:label>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_6C02D53AA0C33D727FF71E4C4B931853_label_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_6C02D53AA0C33D727FF71E4C4B931853" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accretion (Amortization) of Discounts and Premiums, Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_6C02D53AA0C33D727FF71E4C4B931853" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_6C02D53AA0C33D727FF71E4C4B931853" xlink:to="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_6C02D53AA0C33D727FF71E4C4B931853" xlink:type="arc" />
    <link:label id="lab_us-gaap_GainLossOnSaleOfInvestments_0618D48046264269E7F71E4C4B930C1C_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments_0618D48046264269E7F71E4C4B930C1C" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Realized (gain) loss on sale of investments</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfInvestments_0618D48046264269E7F71E4C4B930C1C_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments_0618D48046264269E7F71E4C4B930C1C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gain (Loss) on Sale of Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_0618D48046264269E7F71E4C4B930C1C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfInvestments_0618D48046264269E7F71E4C4B930C1C" xlink:to="lab_us-gaap_GainLossOnSaleOfInvestments_0618D48046264269E7F71E4C4B930C1C" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_5ABE0E775E80CE8A23AD1E4C4B9302CB_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_5ABE0E775E80CE8A23AD1E4C4B9302CB" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Change in deferred income taxes</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_5ABE0E775E80CE8A23AD1E4C4B9302CB_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_5ABE0E775E80CE8A23AD1E4C4B9302CB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Deferred Income Taxes</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_5ABE0E775E80CE8A23AD1E4C4B9302CB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_5ABE0E775E80CE8A23AD1E4C4B9302CB" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_5ABE0E775E80CE8A23AD1E4C4B9302CB" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_2BEE15175E0D331360391E4C4B930E5C_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_2BEE15175E0D331360391E4C4B930E5C" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_2BEE15175E0D331360391E4C4B930E5C_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_2BEE15175E0D331360391E4C4B930E5C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2BEE15175E0D331360391E4C4B930E5C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2BEE15175E0D331360391E4C4B930E5C" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_2BEE15175E0D331360391E4C4B930E5C" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_898F9167D5EF914ECD7A1E537C5806B3_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_898F9167D5EF914ECD7A1E537C5806B3" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Unbilled revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_898F9167D5EF914ECD7A1E537C5806B3_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_898F9167D5EF914ECD7A1E537C5806B3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Unbilled Receivables</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_898F9167D5EF914ECD7A1E537C5806B3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_898F9167D5EF914ECD7A1E537C5806B3" xlink:to="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_898F9167D5EF914ECD7A1E537C5806B3" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_90E0EBD986590449B2CF1E4C4B93AAED_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories_90E0EBD986590449B2CF1E4C4B93AAED" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_90E0EBD986590449B2CF1E4C4B93AAED_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories_90E0EBD986590449B2CF1E4C4B93AAED" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_90E0EBD986590449B2CF1E4C4B93AAED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories_90E0EBD986590449B2CF1E4C4B93AAED" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories_90E0EBD986590449B2CF1E4C4B93AAED" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_64006E14FA0829C2C24A1E4C4B93D4AF_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable_64006E14FA0829C2C24A1E4C4B93D4AF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_64006E14FA0829C2C24A1E4C4B93D4AF_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable_64006E14FA0829C2C24A1E4C4B93D4AF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_64006E14FA0829C2C24A1E4C4B93D4AF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable_64006E14FA0829C2C24A1E4C4B93D4AF" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable_64006E14FA0829C2C24A1E4C4B93D4AF" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_B2752BE278C62366F7E81E4C4B93F291_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_B2752BE278C62366F7E81E4C4B93F291" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_B2752BE278C62366F7E81E4C4B93F291_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_B2752BE278C62366F7E81E4C4B93F291" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_B2752BE278C62366F7E81E4C4B93F291" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_B2752BE278C62366F7E81E4C4B93F291" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_B2752BE278C62366F7E81E4C4B93F291" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_EB38C8BD8D0C4EA297F11E4C4B94FB09_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_EB38C8BD8D0C4EA297F11E4C4B94FB09" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_EB38C8BD8D0C4EA297F11E4C4B94FB09_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_EB38C8BD8D0C4EA297F11E4C4B94FB09" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_EB38C8BD8D0C4EA297F11E4C4B94FB09" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_EB38C8BD8D0C4EA297F11E4C4B94FB09" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_EB38C8BD8D0C4EA297F11E4C4B94FB09" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_BD6C1B511C90080C82531E541B17964D_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_BD6C1B511C90080C82531E541B17964D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_BD6C1B511C90080C82531E541B17964D_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_BD6C1B511C90080C82531E541B17964D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Deferred Revenue and Customer Advances and Deposits</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_BD6C1B511C90080C82531E541B17964D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_BD6C1B511C90080C82531E541B17964D" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_BD6C1B511C90080C82531E541B17964D" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_E30E8319B83FDEF5B4DF1E4C4B94F24E_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_E30E8319B83FDEF5B4DF1E4C4B94F24E" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_E30E8319B83FDEF5B4DF1E4C4B94F24E_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_E30E8319B83FDEF5B4DF1E4C4B94F24E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Other Operating Assets and Liabilities, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_E30E8319B83FDEF5B4DF1E4C4B94F24E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_E30E8319B83FDEF5B4DF1E4C4B94F24E" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_E30E8319B83FDEF5B4DF1E4C4B94F24E" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_6B265C2EF7C737FC95031E4C4B942977_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_6B265C2EF7C737FC95031E4C4B942977" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_6B265C2EF7C737FC95031E4C4B942977" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_6B265C2EF7C737FC95031E4C4B942977" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_6B265C2EF7C737FC95031E4C4B942977" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireInvestments_F903C4880126BD3595F91E4C4B94F633_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments_F903C4880126BD3595F91E4C4B94F633" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchases of investments</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireInvestments_F903C4880126BD3595F91E4C4B94F633_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments_F903C4880126BD3595F91E4C4B94F633" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_F903C4880126BD3595F91E4C4B94F633" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireInvestments_F903C4880126BD3595F91E4C4B94F633" xlink:to="lab_us-gaap_PaymentsToAcquireInvestments_F903C4880126BD3595F91E4C4B94F633" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_97D9D56375CD691DFC4B1E4C4B94B94B_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_97D9D56375CD691DFC4B1E4C4B94B94B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maturities and sales of investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_97D9D56375CD691DFC4B1E4C4B94B94B_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_97D9D56375CD691DFC4B1E4C4B94B94B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Sale, Maturity and Collection of Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_97D9D56375CD691DFC4B1E4C4B94B94B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_97D9D56375CD691DFC4B1E4C4B94B94B" xlink:to="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_97D9D56375CD691DFC4B1E4C4B94B94B" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_BE5AF7D96DF034F725D01E4C4B949F34_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_BE5AF7D96DF034F725D01E4C4B949F34" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchases of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_BE5AF7D96DF034F725D01E4C4B949F34_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_BE5AF7D96DF034F725D01E4C4B949F34" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_BE5AF7D96DF034F725D01E4C4B949F34" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_BE5AF7D96DF034F725D01E4C4B949F34" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_BE5AF7D96DF034F725D01E4C4B949F34" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_5E61C32F31D97E4DB0411E4C4B94BEAC_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_5E61C32F31D97E4DB0411E4C4B94BEAC" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Cash paid for acquisition of business, net of cash acquired</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_5E61C32F31D97E4DB0411E4C4B94BEAC_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_5E61C32F31D97E4DB0411E4C4B94BEAC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_5E61C32F31D97E4DB0411E4C4B94BEAC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_5E61C32F31D97E4DB0411E4C4B94BEAC" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_5E61C32F31D97E4DB0411E4C4B94BEAC" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireIntangibleAssets_72ED92FC2B823C2A68ED1E4C4B9463E3_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireIntangibleAssets_72ED92FC2B823C2A68ED1E4C4B9463E3" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Cash paid for purchased technology</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireIntangibleAssets_72ED92FC2B823C2A68ED1E4C4B9463E3_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireIntangibleAssets_72ED92FC2B823C2A68ED1E4C4B9463E3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Intangible Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets_72ED92FC2B823C2A68ED1E4C4B9463E3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireIntangibleAssets_72ED92FC2B823C2A68ED1E4C4B9463E3" xlink:to="lab_us-gaap_PaymentsToAcquireIntangibleAssets_72ED92FC2B823C2A68ED1E4C4B9463E3" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_4F3554B810F2765BE8081E63966F3BD8_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_4F3554B810F2765BE8081E63966F3BD8" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Net cash received (paid) from sale of discontinued business</link:label>
    <link:label id="lab_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_4F3554B810F2765BE8081E63966F3BD8_label_en-US" xlink:label="lab_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_4F3554B810F2765BE8081E63966F3BD8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments for (Proceeds from) Businesses and Interest in Affiliates</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_4F3554B810F2765BE8081E63966F3BD8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_4F3554B810F2765BE8081E63966F3BD8" xlink:to="lab_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_4F3554B810F2765BE8081E63966F3BD8" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_0AEB39D7A0CEC51545971E4C4B94017D_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_0AEB39D7A0CEC51545971E4C4B94017D" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_0AEB39D7A0CEC51545971E4C4B94017D_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_0AEB39D7A0CEC51545971E4C4B94017D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0AEB39D7A0CEC51545971E4C4B94017D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0AEB39D7A0CEC51545971E4C4B94017D" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_0AEB39D7A0CEC51545971E4C4B94017D" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_A2C07A33F1E92DCAC5B41E4C4B9437EB_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_A2C07A33F1E92DCAC5B41E4C4B9437EB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common stock under stock plans</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_A2C07A33F1E92DCAC5B41E4C4B9437EB_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_A2C07A33F1E92DCAC5B41E4C4B9437EB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_A2C07A33F1E92DCAC5B41E4C4B9437EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_A2C07A33F1E92DCAC5B41E4C4B9437EB" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_A2C07A33F1E92DCAC5B41E4C4B9437EB" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_F66A79AD23A2184EE3F91E4C4B9441BA_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_F66A79AD23A2184EE3F91E4C4B9441BA" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_F66A79AD23A2184EE3F91E4C4B9441BA_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_F66A79AD23A2184EE3F91E4C4B9441BA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_F66A79AD23A2184EE3F91E4C4B9441BA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_F66A79AD23A2184EE3F91E4C4B9441BA" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_F66A79AD23A2184EE3F91E4C4B9441BA" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsOfDividendsCommonStock_0C2FEC409EC12C6118071E4C4B94BFCB_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock_0C2FEC409EC12C6118071E4C4B94BFCB" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payment of dividends</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDividendsCommonStock_0C2FEC409EC12C6118071E4C4B94BFCB_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock_0C2FEC409EC12C6118071E4C4B94BFCB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments of Ordinary Dividends, Common Stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_0C2FEC409EC12C6118071E4C4B94BFCB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDividendsCommonStock_0C2FEC409EC12C6118071E4C4B94BFCB" xlink:to="lab_us-gaap_PaymentsOfDividendsCommonStock_0C2FEC409EC12C6118071E4C4B94BFCB" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsForPreviousAcquisition_36872B7668AD73E2EE671E644319447A_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForPreviousAcquisition_36872B7668AD73E2EE671E644319447A" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForPreviousAcquisition" xlink:label="loc_us-gaap_PaymentsForPreviousAcquisition_36872B7668AD73E2EE671E644319447A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForPreviousAcquisition_36872B7668AD73E2EE671E644319447A" xlink:to="lab_us-gaap_PaymentsForPreviousAcquisition_36872B7668AD73E2EE671E644319447A" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_4462F242C5AA3385A5EE1E4C4B9564FA_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_4462F242C5AA3385A5EE1E4C4B9564FA" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash used in financing activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4462F242C5AA3385A5EE1E4C4B9564FA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4462F242C5AA3385A5EE1E4C4B9564FA" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_4462F242C5AA3385A5EE1E4C4B9564FA" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2CA5CF8D3605F0ED9E2A1E4C4B95C1BD_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2CA5CF8D3605F0ED9E2A1E4C4B95C1BD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of foreign exchange rate changes on cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2CA5CF8D3605F0ED9E2A1E4C4B95C1BD_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2CA5CF8D3605F0ED9E2A1E4C4B95C1BD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effect of Exchange Rate on Cash and Cash Equivalents</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2CA5CF8D3605F0ED9E2A1E4C4B95C1BD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2CA5CF8D3605F0ED9E2A1E4C4B95C1BD" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2CA5CF8D3605F0ED9E2A1E4C4B95C1BD" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_0A403467CE64510E285F1E4C4B96253B_totalLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_0A403467CE64510E285F1E4C4B96253B" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change in cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_0A403467CE64510E285F1E4C4B96253B_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_0A403467CE64510E285F1E4C4B96253B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, Period Increase (Decrease)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_0A403467CE64510E285F1E4C4B96253B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_0A403467CE64510E285F1E4C4B96253B" xlink:to="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_0A403467CE64510E285F1E4C4B96253B" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_53DB11A408023166F9BA1E4C4B96CCDE_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_53DB11A408023166F9BA1E4C4B96CCDE" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at beginning of year</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_53DB11A408023166F9BA1E4C4B96CCDE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_53DB11A408023166F9BA1E4C4B96CCDE" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_53DB11A408023166F9BA1E4C4B96CCDE" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_D34A64E9EB63A52523571E4C4B9673CE_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_D34A64E9EB63A52523571E4C4B9673CE" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at end of year</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D34A64E9EB63A52523571E4C4B9673CE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D34A64E9EB63A52523571E4C4B9673CE" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_D34A64E9EB63A52523571E4C4B9673CE" xlink:type="arc" />
    <link:label id="lab_us-gaap_DepreciationAndAmortizationDiscontinuedOperations_47D73B5D98A565B79DF11E4C4B971951_terseLabel_en-US" xlink:label="lab_us-gaap_DepreciationAndAmortizationDiscontinuedOperations_47D73B5D98A565B79DF11E4C4B971951" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation and amortization expense</link:label>
    <link:label id="lab_us-gaap_DepreciationAndAmortizationDiscontinuedOperations_47D73B5D98A565B79DF11E4C4B971951_label_en-US" xlink:label="lab_us-gaap_DepreciationAndAmortizationDiscontinuedOperations_47D73B5D98A565B79DF11E4C4B971951" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation and Amortization, Discontinued Operations</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DepreciationAndAmortizationDiscontinuedOperations" xlink:label="loc_us-gaap_DepreciationAndAmortizationDiscontinuedOperations_47D73B5D98A565B79DF11E4C4B971951" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationAndAmortizationDiscontinuedOperations_47D73B5D98A565B79DF11E4C4B971951" xlink:to="lab_us-gaap_DepreciationAndAmortizationDiscontinuedOperations_47D73B5D98A565B79DF11E4C4B971951" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_7EDBB03DF0B407DA87EE1B15A8F7DB7F_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock_7EDBB03DF0B407DA87EE1B15A8F7DB7F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Acquisitions</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_7EDBB03DF0B407DA87EE1B15A8F7DB7F_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock_7EDBB03DF0B407DA87EE1B15A8F7DB7F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_7EDBB03DF0B407DA87EE1B15A8F7DB7F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationDisclosureTextBlock_7EDBB03DF0B407DA87EE1B15A8F7DB7F" xlink:to="lab_us-gaap_BusinessCombinationDisclosureTextBlock_7EDBB03DF0B407DA87EE1B15A8F7DB7F" xlink:type="arc" />
    <link:label id="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617_terseLabel_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maturities of forward of contracts</link:label>
    <link:label id="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617_label_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Remaining Maturity of Foreign Currency Derivatives</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617" xlink:to="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617" xlink:type="arc" />
    <link:label id="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350_terseLabel_en-US" xlink:label="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maturities of foreign currency forward contracts</link:label>
    <link:label id="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350_label_en-US" xlink:label="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Length of Time Hedged in Cash Flow Hedge</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1" xlink:label="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350" xlink:to="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46_terseLabel_en-US" xlink:label="lab_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net gains expected to be reclassified from accumulated other comprehensive income (loss)</link:label>
    <link:label id="lab_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46_label_en-US" xlink:label="lab_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash Flow Hedge Gain (Loss) to be Reclassified within Twelve Months</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths" xlink:label="loc_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46" xlink:to="lab_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46" xlink:type="arc" />
    <link:label id="lab_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6_verboseLabel_en-US" xlink:label="lab_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Treasury Bills [Member]</link:label>
    <link:label id="lab_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6_label_en-US" xlink:label="lab_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">US Treasury Bill Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasuryBillSecuritiesMember" xlink:label="loc_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6" xlink:to="lab_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6" xlink:type="arc" />
    <link:label id="lab_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD_terseLabel_en-US" xlink:label="lab_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD_label_en-US" xlink:label="lab_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD" xlink:to="lab_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD" xlink:type="arc" />
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Money market instruments</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Money Market Funds, at Carrying Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D" xlink:to="lab_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2156FC28953679CAECB51E4C4AA93F96_totalLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2156FC28953679CAECB51E4C4AA93F96" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2156FC28953679CAECB51E4C4AA93F96" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2156FC28953679CAECB51E4C4AA93F96" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2156FC28953679CAECB51E4C4AA93F96" xlink:type="arc" />
    <link:label id="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_010241F57F35DE9A900E1E4C4AA92B19_terseLabel_en-US" xlink:label="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_010241F57F35DE9A900E1E4C4AA92B19" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Asset Backed Securities Fair Value Disclosure</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AssetBackedSecuritiesFairValueDisclosure" xlink:label="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_010241F57F35DE9A900E1E4C4AA92B19" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_010241F57F35DE9A900E1E4C4AA92B19" xlink:to="lab_cgnx_AssetBackedSecuritiesFairValueDisclosure_010241F57F35DE9A900E1E4C4AA92B19" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-term investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Securities, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostMethodInvestments_A0BD8C7CC1A12252506D1E4C4AAFDCE0_verboseLabel_en-US" xlink:label="lab_us-gaap_CostMethodInvestments_A0BD8C7CC1A12252506D1E4C4AAFDCE0" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Limited partnership interest (accounted for using cost method)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostMethodInvestments" xlink:label="loc_us-gaap_CostMethodInvestments_A0BD8C7CC1A12252506D1E4C4AAFDCE0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostMethodInvestments_A0BD8C7CC1A12252506D1E4C4AAFDCE0" xlink:to="lab_us-gaap_CostMethodInvestments_A0BD8C7CC1A12252506D1E4C4AAFDCE0" xlink:type="arc" />
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637_totalLabel_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637_label_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash Cash Equivalents Short Term And Long Term Investments</link:label>
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637_documentation_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Cash, cash equivalents, short term and long term investments.</link:label>
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:to="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_7C2C22DCEBA4DC87E7051A282EB04D75_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock_7C2C22DCEBA4DC87E7051A282EB04D75" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_7C2C22DCEBA4DC87E7051A282EB04D75_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock_7C2C22DCEBA4DC87E7051A282EB04D75" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_7C2C22DCEBA4DC87E7051A282EB04D75" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock_7C2C22DCEBA4DC87E7051A282EB04D75" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock_7C2C22DCEBA4DC87E7051A282EB04D75" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_6773CC5540B1F75D7BD31A282F195045_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_6773CC5540B1F75D7BD31A282F195045" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued Expenses</link:label>
    <link:label id="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_6773CC5540B1F75D7BD31A282F195045_label_en-US" xlink:label="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_6773CC5540B1F75D7BD31A282F195045" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_6773CC5540B1F75D7BD31A282F195045" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_6773CC5540B1F75D7BD31A282F195045" xlink:to="lab_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_6773CC5540B1F75D7BD31A282F195045" xlink:type="arc" />
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>cgnx-20161231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpenses" xlink:href="cgnx-20161231.xsd#AccruedExpenses" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpensesChangesInWarrantyObligationsDetail" xlink:href="cgnx-20161231.xsd#AccruedExpensesChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpensesConstituentsOfAccruedExpensesDetail" xlink:href="cgnx-20161231.xsd#AccruedExpensesConstituentsOfAccruedExpensesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AccruedExpensesTables" xlink:href="cgnx-20161231.xsd#AccruedExpensesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Acquisitions" xlink:href="cgnx-20161231.xsd#Acquisitions" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAcquisitionsDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsAcquisitionsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAcquisitionsTables" xlink:href="cgnx-20161231.xsd#AcquisitionsAcquisitionsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAqsenseSLNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsAqsenseSLNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsAqsenseSLPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsAqsenseSLPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsChiaroTechnologiesLlcDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsEnshapeGmbhNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsEnshapeGmbhNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsManateeWorksIncNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsManateeWorksIncNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsWebscanIncNarrativeDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsWebscanIncNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/AcquisitionsWebscanIncPurchasePriceAllocationDetails" xlink:href="cgnx-20161231.xsd#AcquisitionsWebscanIncPurchasePriceAllocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestments" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20161231.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingencies" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/CommitmentsAndContingenciesTables" xlink:href="cgnx-20161231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20161231.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfOperationsParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfOperationsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquity" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:href="cgnx-20161231.xsd#ConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20161231.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsBalanceSheetLocationDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsBalanceSheetLocationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsChangesInAociDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsChangesInAociDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsDetails" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsOutstandingForwardContractsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20161231.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperations" xlink:href="cgnx-20161231.xsd#DiscontinuedOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsDetails" xlink:href="cgnx-20161231.xsd#DiscontinuedOperationsDiscontinuedOperationsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" xlink:href="cgnx-20161231.xsd#DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsTables" xlink:href="cgnx-20161231.xsd#DiscontinuedOperationsDiscontinuedOperationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/DocumentAndEntityInformation" xlink:href="cgnx-20161231.xsd#DocumentAndEntityInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/EmployeeSavingsPlan" xlink:href="cgnx-20161231.xsd#EmployeeSavingsPlan" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/EmployeeSavingsPlanAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#EmployeeSavingsPlanAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20161231.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsNarrativeDetails" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20161231.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Goodwill" xlink:href="cgnx-20161231.xsd#Goodwill" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/GoodwillAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#GoodwillAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/GoodwillChangesInCarryingValueOfGoodwillDetail" xlink:href="cgnx-20161231.xsd#GoodwillChangesInCarryingValueOfGoodwillDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/GoodwillTables" xlink:href="cgnx-20161231.xsd#GoodwillTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IndemnificationProvisions" xlink:href="cgnx-20161231.xsd#IndemnificationProvisions" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IndemnificationProvisionsNarrativeDetails" xlink:href="cgnx-20161231.xsd#IndemnificationProvisionsNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssets" xlink:href="cgnx-20161231.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssetsAmortizedIntangibleAssetsDetail" xlink:href="cgnx-20161231.xsd#IntangibleAssetsAmortizedIntangibleAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" xlink:href="cgnx-20161231.xsd#IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20161231.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Inventories" xlink:href="cgnx-20161231.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/InventoriesInventoriesDetail" xlink:href="cgnx-20161231.xsd#InventoriesInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/InventoriesTables" xlink:href="cgnx-20161231.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/NewPronouncements" xlink:href="cgnx-20161231.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipment" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipment" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetails" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipmentAdditionalInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/PropertyPlantAndEquipmentTables" xlink:href="cgnx-20161231.xsd#PropertyPlantAndEquipmentTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccounts" xlink:href="cgnx-20161231.xsd#ScheduleIiValuationAndQualifyingAccounts" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccountsDetail" xlink:href="cgnx-20161231.xsd#ScheduleIiValuationAndQualifyingAccountsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformation" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformationAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformationAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SegmentAndGeographicInformationTables" xlink:href="cgnx-20161231.xsd#SegmentAndGeographicInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ShareholdersEquity" xlink:href="cgnx-20161231.xsd#ShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#ShareholdersEquityAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensation" xlink:href="cgnx-20161231.xsd#StockBasedCompensation" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20161231.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" xlink:href="cgnx-20161231.xsd#StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/StockBasedCompensationTables" xlink:href="cgnx-20161231.xsd#StockBasedCompensationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SubsequentEventsSubsequentEventsDetails" xlink:href="cgnx-20161231.xsd#SubsequentEventsSubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SubsequentEventsSubsequentEventsNotes" xlink:href="cgnx-20161231.xsd#SubsequentEventsSubsequentEventsNotes" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:href="cgnx-20161231.xsd#SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/Taxes" xlink:href="cgnx-20161231.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesAdditionalInformationDetails" xlink:href="cgnx-20161231.xsd#TaxesAdditionalInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" xlink:href="cgnx-20161231.xsd#TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesConstituentsOfDeferredTaxAssetsDetails" xlink:href="cgnx-20161231.xsd#TaxesConstituentsOfDeferredTaxAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesConstituentsOfProvisionForIncomeTaxesDetails" xlink:href="cgnx-20161231.xsd#TaxesConstituentsOfProvisionForIncomeTaxesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" xlink:href="cgnx-20161231.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/TaxesTables" xlink:href="cgnx-20161231.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20161231.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageSharesAdditionalInformationDetail" xlink:href="cgnx-20161231.xsd#WeightedAverageSharesAdditionalInformationDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20161231.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20161231.xsd#WeightedAverageSharesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple" />
  <link:presentationLink xlink:role="http://cognex.com/role/AccruedExpenses" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_4A08D8DEDCEDB67761751A282F191D2B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_6773CC5540B1F75D7BD31A282F195045" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_4A08D8DEDCEDB67761751A282F191D2B" xlink:to="loc_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_6773CC5540B1F75D7BD31A282F195045" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AccruedExpensesChangesInWarrantyObligationsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_685098A074DA9BE590251A282F04A2B4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_685098A074DA9BE590251A282F04A2B4" xlink:to="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_E47A9F3EED9BC0F0EB7A1A282F040B1F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:to="loc_us-gaap_ProductWarrantyAccrual_E47A9F3EED9BC0F0EB7A1A282F040B1F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_9B9DD189D30B9559D5F61A282F048973" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:to="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_9B9DD189D30B9559D5F61A282F048973" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_9D0D60CAB3D91ECEA4D61A282F05B463" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:to="loc_us-gaap_ProductWarrantyAccrualPayments_9D0D60CAB3D91ECEA4D61A282F05B463" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2BFE44498FC1F25CB6721A282F05851D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:to="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2BFE44498FC1F25CB6721A282F05851D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_471D37688C2C4AF4C6181A282F0509F1" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_E71EAD718F207246885C1A282F04835F" xlink:to="loc_us-gaap_ProductWarrantyAccrual_471D37688C2C4AF4C6181A282F0509F1" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AccruedExpensesConstituentsOfAccruedExpensesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_D0C9E56C5A7A362BFEE91E4C49BF5877" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedLiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_D0C9E56C5A7A362BFEE91E4C49BF5877" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedBonusesCurrent" xlink:label="loc_us-gaap_AccruedBonusesCurrent_1E9785397D866FEEC45C1E4C49BF9D06" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:to="loc_us-gaap_AccruedBonusesCurrent_1E9785397D866FEEC45C1E4C49BF9D06" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedSalariesCurrent" xlink:label="loc_us-gaap_AccruedSalariesCurrent_4773C884E708025B71E71E4C49BFFA61" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:to="loc_us-gaap_AccruedSalariesCurrent_4773C884E708025B71E71E4C49BFFA61" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedVacationCurrent" xlink:label="loc_us-gaap_AccruedVacationCurrent_1F5DFEF2751CC990A90F1E4C49BF2647" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:to="loc_us-gaap_AccruedVacationCurrent_1F5DFEF2751CC990A90F1E4C49BF2647" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductWarrantyAccrualClassifiedCurrent" xlink:label="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_12B97DD6771E0377B9DA1E4C49C03FAC" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:to="loc_us-gaap_ProductWarrantyAccrualClassifiedCurrent_12B97DD6771E0377B9DA1E4C49C03FAC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RetirementAllowance" xlink:label="loc_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:to="loc_cgnx_RetirementAllowance_C7934640AB97B6F2C7481E4C49C017AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_OtherAccruedLiabilitiesCurrent_AE26DAEBCC9AD82503551E4C49C07DC4" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:to="loc_us-gaap_OtherAccruedLiabilitiesCurrent_AE26DAEBCC9AD82503551E4C49C07DC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_A873BB15B1474224283E1E4C49C09F42" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrentAbstract_6165259B70ACC5B5C80B1E4C49BF36DE" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_A873BB15B1474224283E1E4C49C09F42" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AccruedExpensesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaap_PayablesAndAccrualsAbstract_81D89AA629D4FA247C301A2830DEDE48" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_A4E1F73E5130BCE6B3341A2830DEC7AB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_81D89AA629D4FA247C301A2830DEDE48" xlink:to="loc_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock_A4E1F73E5130BCE6B3341A2830DEC7AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4473C2D34381C955AAE81A2830DE6760" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PayablesAndAccrualsAbstract_81D89AA629D4FA247C301A2830DEDE48" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_4473C2D34381C955AAE81A2830DE6760" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/Acquisitions" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_2A65AF4E0266C258DE941B15A8F76F2A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_7EDBB03DF0B407DA87EE1B15A8F7DB7F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_2A65AF4E0266C258DE941B15A8F76F2A" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_7EDBB03DF0B407DA87EE1B15A8F7DB7F" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsAcquisitionsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_EB74067FF2886D2317A61B877D77A483" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NumberOfBusinessesAcquired" xlink:label="loc_us-gaap_NumberOfBusinessesAcquired_DB27FD80D5CC625813A21B877D77D4FE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_EB74067FF2886D2317A61B877D77A483" xlink:to="loc_us-gaap_NumberOfBusinessesAcquired_DB27FD80D5CC625813A21B877D77D4FE" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsAcquisitionsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_A29DA76150541C9446E41B15A8EFAE5C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock" xlink:label="loc_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_B6169231AA3DC52DBBAC1B15A8EF20AE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_A29DA76150541C9446E41B15A8EFAE5C" xlink:to="loc_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock_B6169231AA3DC52DBBAC1B15A8EF20AE" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsAqsenseSLNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_3317D2DB64182940F5791E3AE286C0DB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_70FD4B31D0F8705D254B1E3AE2865A31" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_3317D2DB64182940F5791E3AE286C0DB" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_70FD4B31D0F8705D254B1E3AE2865A31" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_31694C9017FCE6CE2BA91E3AE286D670" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_70FD4B31D0F8705D254B1E3AE2865A31" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_31694C9017FCE6CE2BA91E3AE286D670" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_AF740078E020908909FD1E3AE28666E3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_31694C9017FCE6CE2BA91E3AE286D670" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_AF740078E020908909FD1E3AE28666E3" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AQSenseS.L.Member" xlink:label="loc_cgnx_AQSenseS.L.Member_E4A76C53A654FC4B88D31E3AE286BD8A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_AF740078E020908909FD1E3AE28666E3" xlink:to="loc_cgnx_AQSenseS.L.Member_E4A76C53A654FC4B88D31E3AE286BD8A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_8BA9109DDACFB91059821E3AE2867710" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_70FD4B31D0F8705D254B1E3AE2865A31" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_8BA9109DDACFB91059821E3AE2867710" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_3E24B3A0C19C338822AD1E3AE287DB66" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8BA9109DDACFB91059821E3AE2867710" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_3E24B3A0C19C338822AD1E3AE287DB66" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_C70937ACBBE5E4DBBF481E3AE287635F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_8BA9109DDACFB91059821E3AE2867710" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_C70937ACBBE5E4DBBF481E3AE287635F" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsAqsenseSLPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_F169DB76C9EEB7CF94C21E3AE281AE44" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C4BFCE94A213AC776BC61E3AE28111FC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_F169DB76C9EEB7CF94C21E3AE281AE44" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C4BFCE94A213AC776BC61E3AE28111FC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4E424510DB182092ACF91E40A3651CDF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C4BFCE94A213AC776BC61E3AE28111FC" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4E424510DB182092ACF91E40A3651CDF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_4E424510DB182092ACF91E40A3651CDF" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_6AD497B3C69A9DA6657B1E40DBF6BAC6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6" xlink:to="loc_us-gaap_CustomerRelationshipsMember_6AD497B3C69A9DA6657B1E40DBF6BAC6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_500D1989F4E78089C6B81E4114B56192" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_608049350406B697439F1E40A36E77B6" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_500D1989F4E78089C6B81E4114B56192" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_32F4BA044C91094BBE751E3AE281845B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C4BFCE94A213AC776BC61E3AE28111FC" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_32F4BA044C91094BBE751E3AE281845B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CDB99EDB69F9267FB8181E3AE2818982" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_32F4BA044C91094BBE751E3AE281845B" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CDB99EDB69F9267FB8181E3AE2818982" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AQSenseS.L.Member" xlink:label="loc_cgnx_AQSenseS.L.Member_CAE5C5B48107F69CE7761E3AE281AA99" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CDB99EDB69F9267FB8181E3AE2818982" xlink:to="loc_cgnx_AQSenseS.L.Member_CAE5C5B48107F69CE7761E3AE281AA99" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C4BFCE94A213AC776BC61E3AE28111FC" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_BC5490CB4271D65AFB2D1E3AE2826CEF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_BC5490CB4271D65AFB2D1E3AE2826CEF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_18E88F0EB5AB9E2985731E3AE282B1B5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_18E88F0EB5AB9E2985731E3AE282B1B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_F9E895851DEE04EFB9ED1E3AE2824D8A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_us-gaap_Goodwill_F9E895851DEE04EFB9ED1E3AE2824D8A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_8F302C9C17439B9390D61E3AE282D380" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_8F302C9C17439B9390D61E3AE282D380" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_0605AD33AB7AF10851CB1E3AE2820544" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_A7C047FFEF99FD5171B11E3AE2823893" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_0605AD33AB7AF10851CB1E3AE2820544" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_901D3CB2D6D9BE6EA78C1B877D683EC6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1AC1467AB6FF5635EE6D1B877D680527" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_901D3CB2D6D9BE6EA78C1B877D683EC6" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1AC1467AB6FF5635EE6D1B877D680527" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_66BF28EBA5879AE85E531B877D68B059" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1AC1467AB6FF5635EE6D1B877D680527" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_66BF28EBA5879AE85E531B877D68B059" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_248EE04B00A2E258E6CC1B877D680BE4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_66BF28EBA5879AE85E531B877D68B059" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_248EE04B00A2E258E6CC1B877D680BE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_AD9D23D9CF593FEEC6D51B877D6896BD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_248EE04B00A2E258E6CC1B877D680BE4" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_AD9D23D9CF593FEEC6D51B877D6896BD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_202032F9D1A4588E70111B877D680FA4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1AC1467AB6FF5635EE6D1B877D680527" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_202032F9D1A4588E70111B877D680FA4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4F948F24542AF098CB981B877D688EB3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_202032F9D1A4588E70111B877D680FA4" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4F948F24542AF098CB981B877D688EB3" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_CA002A0AF262FA09FC741B877D68F76E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4F948F24542AF098CB981B877D688EB3" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_CA002A0AF262FA09FC741B877D68F76E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_1AC1467AB6FF5635EE6D1B877D680527" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_E2E1BA5FA4E78681031C1B877D687AA3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_E2E1BA5FA4E78681031C1B877D687AA3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_BD47A18FC65803A2349A1B877D6929D8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_BD47A18FC65803A2349A1B877D6929D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_3FDC1CB077C546FAB3201B877D694A38" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_3FDC1CB077C546FAB3201B877D694A38" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A8761A5B89EB3DE550A1B877D699027" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A8761A5B89EB3DE550A1B877D699027" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_B1E4BE32192FE8E70E641B877D697D02" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_B1E4BE32192FE8E70E641B877D697D02" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_41FF0F610703C59125161B877D69183A" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_41FF0F610703C59125161B877D69183A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_F050E9039DDCB60DB1CF1B877D693958" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_C3ECA079F6B32B2390F01B877D68636C" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_F050E9039DDCB60DB1CF1B877D693958" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_F8F8C68D543C6FD828B41B5643F52FA3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C8203DC23A8ACAC1DCF91B5648E0EB2D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_F8F8C68D543C6FD828B41B5643F52FA3" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C8203DC23A8ACAC1DCF91B5648E0EB2D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_CC0A8D44122DEE3F20581B57E34ACB4D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C8203DC23A8ACAC1DCF91B5648E0EB2D" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_CC0A8D44122DEE3F20581B57E34ACB4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_2C3D3FBDBE0E31D466C51B57E34BFB04" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_CC0A8D44122DEE3F20581B57E34ACB4D" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_2C3D3FBDBE0E31D466C51B57E34BFB04" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_79C68C4D9405017212F01B582EA5A1DA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_2C3D3FBDBE0E31D466C51B57E34BFB04" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_79C68C4D9405017212F01B582EA5A1DA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_813860236AA856C2810C1B5648E647AC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C8203DC23A8ACAC1DCF91B5648E0EB2D" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_813860236AA856C2810C1B5648E647AC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_35482B764E0A6CBF64951B5648E77E76" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_813860236AA856C2810C1B5648E647AC" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_35482B764E0A6CBF64951B5648E77E76" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_DFF31D1F8907A2AFCAAC1B5798C6DD98" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_35482B764E0A6CBF64951B5648E77E76" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_DFF31D1F8907A2AFCAAC1B5798C6DD98" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_C8203DC23A8ACAC1DCF91B5648E0EB2D" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_577BCC809C34979386081B56D4430621" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_577BCC809C34979386081B56D4430621" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_E6BA7D3C9179506353C51B5702B6AEE4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_E6BA7D3C9179506353C51B5702B6AEE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_25E2367C7F8E31F1B7DF1B5870517A23" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_us-gaap_Goodwill_25E2367C7F8E31F1B7DF1B5870517A23" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_5CE715E01A42B87B1BF01B591A3BFC6D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_E93C2F841AA11E1B40151B5CAED863C9" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_68E060171E4F0F2D4B511B5648E861F4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_E93C2F841AA11E1B40151B5CAED863C9" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsEnshapeGmbhNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_0E9F955B52F30DD739761B7AF3CE6916" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_B4642D762DD138FB07871B7AF3D0BF92" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_0E9F955B52F30DD739761B7AF3CE6916" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_B4642D762DD138FB07871B7AF3D0BF92" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_2B756CC7CDD26C6FC22F1B7AF3D189CE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_B4642D762DD138FB07871B7AF3D0BF92" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_2B756CC7CDD26C6FC22F1B7AF3D189CE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_D4948F3F133DF331C3C41B7AF3D12675" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2B756CC7CDD26C6FC22F1B7AF3D189CE" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_D4948F3F133DF331C3C41B7AF3D12675" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EnShapeGmbHMember" xlink:label="loc_cgnx_EnShapeGmbHMember_E6F550A966C7EAFEE4BD1B7AF3D139B5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_D4948F3F133DF331C3C41B7AF3D12675" xlink:to="loc_cgnx_EnShapeGmbHMember_E6F550A966C7EAFEE4BD1B7AF3D139B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_B4642D762DD138FB07871B7AF3D0BF92" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_F6E0BD667E530871692D1B7AF3D2D717" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_F6E0BD667E530871692D1B7AF3D2D717" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_51B894AB59F16A0058541B7AF3D2DCF8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_51B894AB59F16A0058541B7AF3D2DCF8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment" xlink:label="loc_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment_A8A0F8D192246F89BE901B7AF3D2D812" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_2CE13064B9FF0A53BBEC1B7AF3D2C757" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_2CE13064B9FF0A53BBEC1B7AF3D2C757" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_04A46ED9E7010B6D98891B7AF3D218FF" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_04A46ED9E7010B6D98891B7AF3D218FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_E9D1869AFDAC7DC5D07B1B7AF3D2E2B0" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_E9D1869AFDAC7DC5D07B1B7AF3D2E2B0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_5E225E55367C19A2EA3C1B7DF4F1B589" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_7672885F2E3EF059C5BE1B7AF3D118C2" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_5E225E55367C19A2EA3C1B7DF4F1B589" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_33CFE7779999899602C11E340E604DF5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_8F275C773B10DFA3A80B1E340E60F2E3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_33CFE7779999899602C11E340E604DF5" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_8F275C773B10DFA3A80B1E340E60F2E3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5DA68910AD0F4587DBAD1E340E61F4A9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_8F275C773B10DFA3A80B1E340E60F2E3" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5DA68910AD0F4587DBAD1E340E61F4A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_5DA68910AD0F4587DBAD1E340E61F4A9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_B04FE99AF6E43B49C1721E340E61FFFB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC" xlink:to="loc_us-gaap_CustomerRelationshipsMember_B04FE99AF6E43B49C1721E340E61FFFB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_8536435B6E2FC99A473A1E340E6114A8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_922AF55399A85C7205191E340E61E6AC" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_8536435B6E2FC99A473A1E340E6114A8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_0C94DFDF027FCDDEDAFC1E340E61D111" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_8F275C773B10DFA3A80B1E340E60F2E3" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_0C94DFDF027FCDDEDAFC1E340E61D111" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_33BDB2A9761986BFC97E1E340E61D23B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_0C94DFDF027FCDDEDAFC1E340E61D111" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_33BDB2A9761986BFC97E1E340E61D23B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EnShapeGmbHMember" xlink:label="loc_cgnx_EnShapeGmbHMember_221ECBDBF33B7FBCD9791E340E61D819" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_33BDB2A9761986BFC97E1E340E61D23B" xlink:to="loc_cgnx_EnShapeGmbHMember_221ECBDBF33B7FBCD9791E340E61D819" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_8F275C773B10DFA3A80B1E340E60F2E3" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents_540A34E02428C6F3C4B91E340E61F7B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_BE4AAD9B84A83601740C1E340E684460" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_BE4AAD9B84A83601740C1E340E684460" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_763E5AA6626289565DB41E340E699FFC" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_763E5AA6626289565DB41E340E699FFC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_FAAB07F1B30B3E38376C1E340E690D84" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_FAAB07F1B30B3E38376C1E340E690D84" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment_905E62C48470A267EF7B1E340E6DCC67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_FDE215F100A030AFDCB51E340E6E5CC4" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_FDE215F100A030AFDCB51E340E6E5CC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_0C6898E3631E7B45FE341E340E6E3D34" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_Goodwill_0C6898E3631E7B45FE341E340E6E3D34" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_91F6B4781275B410F7191E340E6FF53B" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_91F6B4781275B410F7191E340E6FF53B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_236790FAF71ADBE720051E340E6F486C" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses_236790FAF71ADBE720051E340E6F486C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable" xlink:label="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable_9F752F10F55C8686147B1E340E70EDCD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_CF7FCC44D8D3B5AE30591E340E71A2B6" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_02B0348C88A50BD37A851E340E613382" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_CF7FCC44D8D3B5AE30591E340E71A2B6" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsManateeWorksIncNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_13FAA899E04C1A9170811B98AE9151D1" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_0287FFC3266B11731A081B98AE91B8F4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_13FAA899E04C1A9170811B98AE9151D1" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_0287FFC3266B11731A081B98AE91B8F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementScenarioAxis" xlink:label="loc_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_0287FFC3266B11731A081B98AE91B8F4" xlink:to="loc_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScenarioUnspecifiedDomain" xlink:label="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementScenarioAxis_31DD5F3BF899F404578F1B98AE914977" xlink:to="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScenarioForecastMember" xlink:label="loc_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScenarioUnspecifiedDomain_D87934C7CD7EA11358C01B98AE91095E" xlink:to="loc_us-gaap_ScenarioForecastMember_03B12FFD6621E31BAECC1B98AE92790A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_2FFB249576E9C2BFACAA1B98AE9260A6" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_0287FFC3266B11731A081B98AE91B8F4" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_2FFB249576E9C2BFACAA1B98AE9260A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7BA63ECCAAF9D649F3781B98AE92B308" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2FFB249576E9C2BFACAA1B98AE9260A6" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7BA63ECCAAF9D649F3781B98AE92B308" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_EF6840A0E8016CC9A2361B98AE922303" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_7BA63ECCAAF9D649F3781B98AE92B308" xlink:to="loc_cgnx_ManateeWorksInc.Member_EF6840A0E8016CC9A2361B98AE922303" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_0287FFC3266B11731A081B98AE91B8F4" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_C4316C5550459387C15F1B98AE92A1E2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_C4316C5550459387C15F1B98AE92A1E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_8DFFC51692E2ABC160EC1B98AE9299EB" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_8DFFC51692E2ABC160EC1B98AE9299EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3145AE1FF07BF8587A061B98AE926FCF" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3145AE1FF07BF8587A061B98AE926FCF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow_23B20536AB58416F398F1B98AE926BB3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh_053DD9C9F5D82C382E071B98AE9243C3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2CBA00B937AE151FB5891B98AE920001" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForPreviousAcquisition" xlink:label="loc_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_PaymentsForPreviousAcquisition_794DD1AC478012FD05321B98AE926D41" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent_76630F4150FEBC572E741B98AE92F733" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent_AC5B7AB528B0D8AD08E61B98AE927571" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_DE362853760BB2F1EC321B98AE92F246" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_5B1CF8BA7CE70B7E913C1B98AE929123" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_DE362853760BB2F1EC321B98AE92F246" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsManateeWorksIncPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_6AD8D0DA59A2C05960BA1B98AE8C8F9C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_6AD8D0DA59A2C05960BA1B98AE8C8F9C" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_87FA638069019FA593A01B994CA2EA07" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:to="loc_us-gaap_CustomerRelationshipsMember_EE65D08DFF0EE4D3FE761B99751C06D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_21F576B159F1AD57823F1B994CA380E5" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_C6E1BEAB8A772F895FD11B99A3F27A8E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_F0AC4AF633BBCBC111CE1B98AE8C3C84" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_87C870932AEFBB018DA91B98AE8D5EB4" xlink:to="loc_cgnx_ManateeWorksInc.Member_846AF5197810D82D9C3E1B9925C332AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_FF7CA7FAF7AF2B0F84D51B98AE8C5F24" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_7C0F097CD31AEA91737E1B98AE8D5A08" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_305758BC784DAE19079E1B98AE8DA637" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="loc_us-gaap_Goodwill_7B0C0F390C6BDB680A951B98AE8D4106" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_DE5EC3909F2ACEA5BDF11B98AE8D480B" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_AF4B86AAE12EC0F7B23C1B98AE8D9CBC" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsWebscanIncNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_DB93D0D592B468A63ADF1B98AEBB859E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_DB93D0D592B468A63ADF1B98AEBB859E" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DF1C569AFBDA7C43B72B1B98AEBBB6C5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DF1C569AFBDA7C43B72B1B98AEBBB6C5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DF1C569AFBDA7C43B72B1B98AEBBB6C5" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_7B397C5DBD781ABBAB4A1B98AEBBDA54" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6" xlink:to="loc_us-gaap_CustomerRelationshipsMember_7B397C5DBD781ABBAB4A1B98AEBBDA54" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_3C776DA98D698B8F588E1B98AEBB9464" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_B053764F06A28CFA2C131B98AEBB9CB6" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_3C776DA98D698B8F588E1B98AEBB9464" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_A426EA3845906AEF27311B98AEBBDE4A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_A426EA3845906AEF27311B98AEBBDE4A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_185E774C3D1165EAB3261B98AEBB7303" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_A426EA3845906AEF27311B98AEBBDE4A" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_185E774C3D1165EAB3261B98AEBB7303" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_07CA291613C3F9C5BA701B98AEBB1AA8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_185E774C3D1165EAB3261B98AEBB7303" xlink:to="loc_us-gaap_SubsequentEventMember_07CA291613C3F9C5BA701B98AEBB1AA8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_8DD6709DB2544D0B27F51B98AEBBC4AB" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_8DD6709DB2544D0B27F51B98AEBBC4AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_253508B86E6D2D3A78A61B98AEBC929F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_8DD6709DB2544D0B27F51B98AEBBC4AB" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_253508B86E6D2D3A78A61B98AEBC929F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_WebscanInc.Member" xlink:label="loc_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_253508B86E6D2D3A78A61B98AEBC929F" xlink:to="loc_cgnx_WebscanInc.Member_787100A83083153D58561B98AEBCA086" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_CAA8BB340772AD3C7C9B1B98AEBB6F20" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_A607E28CF610B6B16E0D1B98AEBCF197" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_C8448533662D05D822241B98AEBCF6F8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife" xlink:label="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_2B564029A4ACA680D9F91B98AEBC2A7A" xlink:to="loc_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife_FCEEF0950A3AC78776871B98AEBCF71F" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/AcquisitionsWebscanIncPurchasePriceAllocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_5C2983FACBC100BEBDB91E340ED958D9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_68206A61E2531554F1711E340ED975B9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_5C2983FACBC100BEBDB91E340ED958D9" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_68206A61E2531554F1711E340ED975B9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_95A80F61D395F2C61B001E340ED9E3BA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_68206A61E2531554F1711E340ED975B9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_95A80F61D395F2C61B001E340ED9E3BA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_95A80F61D395F2C61B001E340ED9E3BA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="loc_us-gaap_CustomerRelationshipsMember_05210A8B3992AE681D991E340ED911E1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991" xlink:to="loc_us-gaap_CustomerRelationshipsMember_05210A8B3992AE681D991E340ED911E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TechnologyBasedIntangibleAssetsMember" xlink:label="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_A09C635709BB7291EFF01E340ED9480F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_DAB1603B7C6BB96C3FD81E340ED93991" xlink:to="loc_us-gaap_TechnologyBasedIntangibleAssetsMember_A09C635709BB7291EFF01E340ED9480F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_6434DAA9C487861370381E340ED93ED9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_68206A61E2531554F1711E340ED975B9" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_6434DAA9C487861370381E340ED93ED9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_20C0B77B10395644C1131E340EDA3E28" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_6434DAA9C487861370381E340ED93ED9" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_20C0B77B10395644C1131E340EDA3E28" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_WebscanInc.Member" xlink:label="loc_cgnx_WebscanInc.Member_5C1AAA7212122A98DB4D1E340EDAAF87" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_20C0B77B10395644C1131E340EDA3E28" xlink:to="loc_cgnx_WebscanInc.Member_5C1AAA7212122A98DB4D1E340EDAAF87" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_68206A61E2531554F1711E340ED975B9" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables_C0E0574C410D341EE2391E340EDA2DE5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory_672B120E3DD10A1A1D851E340EDAF7AA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_06C0E51A592054A2D7D01E340EDA40EE" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_06C0E51A592054A2D7D01E340EDA40EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_7208D82220CDBB3D338B1E340EDA719C" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles_7208D82220CDBB3D338B1E340EDA719C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_03FFB7D9064270F91FEF1E340EDA4CBD" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_Goodwill_03FFB7D9064270F91FEF1E340EDA4CBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable_5D28C48F8A924585640D1E340EDA6BCF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet" xlink:label="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_60B0B105390CB734411D1E340EDA5886" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_FE3EA61E5E3FC3903A611E340EDAD2D4" xlink:to="loc_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet_60B0B105390CB734411D1E340EDA5886" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestments" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_6907AF2996CC3C2F82BC1A2830C7D4E4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock" xlink:label="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_A2F972A0CEACEF33A5C01A2830C79A25" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_6907AF2996CC3C2F82BC1A2830C7D4E4" xlink:to="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_A2F972A0CEACEF33A5C01A2830C79A25" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_3A32BF78804A70458ED61E4C4A91AC09" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9879461E8D4F504D34DD1E4C4A9287EE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_3A32BF78804A70458ED61E4C4A91AC09" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9879461E8D4F504D34DD1E4C4A9287EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_9941DDA39DC0558067BF1E4C4A97F9FD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9879461E8D4F504D34DD1E4C4A9287EE" xlink:to="loc_dei_LegalEntityAxis_9941DDA39DC0558067BF1E4C4A97F9FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_551BB5E5237994D27A241E4C4A974060" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_9941DDA39DC0558067BF1E4C4A97F9FD" xlink:to="loc_dei_EntityDomain_551BB5E5237994D27A241E4C4A974060" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9879461E8D4F504D34DD1E4C4A9287EE" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DueFromForeignBanks" xlink:label="loc_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_DueFromForeignBanks_8B226D45AD4B3E7B96681E4C4A9793DA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedGains" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_6A4D8117D093E78FE3AC1E4C4A977B89" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_865BAF9A5A9368820BAD1E4C4A9751D0" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MaximumInvestmentInLimitedPartnership" xlink:label="loc_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_MaximumInvestmentInLimitedPartnership_A6AFA652B7C392D3B9571E4C4A9714EA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ContributionToLimitedPartnership" xlink:label="loc_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_ContributionToLimitedPartnership_46E8F57D1CE5F45779B41E4C4A97E244" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RemainingAmountOfCommitment" xlink:label="loc_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_RemainingAmountOfCommitment_E91A3C6FD1F7F49FB2DC1E4C4A978D23" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ContributionMadeToPartnershipDuringPeriod" xlink:label="loc_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_cgnx_ContributionMadeToPartnershipDuringPeriod_32C71B74F26FA1A076EA1E8C5D39C1E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProceedsFromLimitedPartnershipInvestments" xlink:label="loc_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_ProceedsFromLimitedPartnershipInvestments_5705D2BD2B1D1C0C64F91E4C4A97A36E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostMethodInvestments" xlink:label="loc_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_CostMethodInvestments_3CB54647BE662AE514C61E4C4A97DC65" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PartnersCapitalAccountReturnOfCapital" xlink:label="loc_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_PartnersCapitalAccountReturnOfCapital_AAA6A84531846B99AF7F1E8C5DF96529" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostMethodInvestmentsRealizedGains" xlink:label="loc_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_9D500C782244A543E33A1E4C4A97E8BF" xlink:to="loc_us-gaap_CostMethodInvestmentsRealizedGains_91169953ABE288EEE8FD1E8C5E5D5139" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_D4FD3CF9D1A2EEF051AC1A282EDF11BB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_D4FD3CF9D1A2EEF051AC1A282EDF11BB" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_F3E08C6010DF290088A61A282EE03E42" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:to="loc_dei_LegalEntityAxis_F3E08C6010DF290088A61A282EE03E42" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_46D4FF4D2D47027616661A282EE04EED" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_F3E08C6010DF290088A61A282EE03E42" xlink:to="loc_dei_EntityDomain_46D4FF4D2D47027616661A282EE04EED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_22917DDA6BB704903BE01A282EE0CB1C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_22917DDA6BB704903BE01A282EE0CB1C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_22917DDA6BB704903BE01A282EE0CB1C" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EuroliquidityfundMember" xlink:label="loc_cgnx_EuroliquidityfundMember_6913C69F6B25727F8EB21A282EE509F8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_cgnx_EuroliquidityfundMember_6913C69F6B25727F8EB21A282EE509F8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_EB053CB9D4EB13E591481A282EE67FAC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_EB053CB9D4EB13E591481A282EE67FAC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_2C887DAFB260706250B71A282EE6958D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_cgnx_AgencyBondsMember_2C887DAFB260706250B71A282EE6958D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_50608F06FB4FCB6F46311A282EE63C17" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_50608F06FB4FCB6F46311A282EE63C17" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_79199916086AFBAB19291A282EE63760" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_MunicipalBondsMember_79199916086AFBAB19291A282EE63760" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_0349FD7D00FCACC958011A282EE69108" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_0349FD7D00FCACC958011A282EE69108" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_C9DC36F57187A23B17751A282EE6210E" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_2EA5C249C3A512DAFCEE1A282EE07B32" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_C9DC36F57187A23B17751A282EE6210E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:to="loc_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeAxis_4289B8324CE8B4A583E81A282EE63480" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_6C75D928ACF6466E18241A282EE6D270" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_76C0CB1F94447FB630421A282EE6E069" xlink:to="loc_cgnx_LongTermInvestmentsMember_9558BC68C925F0835F001A282EE6280F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9A8E4165C1DB3A3E174F1A282EDFE64B" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_6CF7969CE9974A8A9B011A282EE65963" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_114998F58B5A3169DE881A282EE63D45" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_1C2D733E4D747D9C0A821A282EE6123D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_45E465362445D5E0C8B71A282EE6D2D0" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_F41D865D8FD97F67B3A31A282EE6EF1F" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_45E465362445D5E0C8B71A282EE6D2D0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_3635B2863DC92E6F35641E4C4AA8BFC9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DA8B68086FA1A16444D41E4C4AA81F5A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_3635B2863DC92E6F35641E4C4AA8BFC9" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DA8B68086FA1A16444D41E4C4AA81F5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_38EF43461314792677C61E4C4AA94F20" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DA8B68086FA1A16444D41E4C4AA81F5A" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_38EF43461314792677C61E4C4AA94F20" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_38EF43461314792677C61E4C4AA94F20" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasuryBillSecuritiesMember" xlink:label="loc_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_USTreasuryBillSecuritiesMember_33011CD25F4B2B4494421E4C4AA968E6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_CC07693750537C71298A1E4C4AA96D46" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_CC07693750537C71298A1E4C4AA96D46" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_6CEC0A102FC3EDDDC54D1E4C4AA9BE22" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_6CEC0A102FC3EDDDC54D1E4C4AA9BE22" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EuroliquidityfundMember" xlink:label="loc_cgnx_EuroliquidityfundMember_DB4A37B9E2C5E00E3DC41E4C4AA9C379" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_cgnx_EuroliquidityfundMember_DB4A37B9E2C5E00E3DC41E4C4AA9C379" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_C9F421EE207141E96B161E4C4AA948D7" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_C9F421EE207141E96B161E4C4AA948D7" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_5C9FDA558238B66258191E4C4AA94766" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_cgnx_AgencyBondsMember_5C9FDA558238B66258191E4C4AA94766" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_47F810BD21D1D3CF4D691E4C4AA98207" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_B418F5426011C50D94031E4C4AA9BECA" xlink:to="loc_us-gaap_MunicipalBondsMember_47F810BD21D1D3CF4D691E4C4AA98207" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DA8B68086FA1A16444D41E4C4AA81F5A" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_Cash_B139E384D24550E761C31E4C4AA9BCBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C0BB2948E30985640B9D1E4C4AA9591D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2156FC28953679CAECB51E4C4AA93F96" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2156FC28953679CAECB51E4C4AA93F96" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3CEAD5654C35D25715E91E4C4AA96B7C" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3CEAD5654C35D25715E91E4C4AA96B7C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AssetBackedSecuritiesFairValueDisclosure" xlink:label="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_010241F57F35DE9A900E1E4C4AA92B19" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_010241F57F35DE9A900E1E4C4AA92B19" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_BD3BBD2391C271E60EE01E4C4AAFC615" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostMethodInvestments" xlink:label="loc_us-gaap_CostMethodInvestments_A0BD8C7CC1A12252506D1E4C4AAFDCE0" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_CostMethodInvestments_A0BD8C7CC1A12252506D1E4C4AAFDCE0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_17271A7F0BBFE5EF82FB1E4C4AAFA967" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_us-gaap_LongTermInvestments_17271A7F0BBFE5EF82FB1E4C4AAFA967" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_94044EB1552C51ED59C11E4C4AA9EC3E" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_53F9B8BDAAFA04121FB61E4C4AAF4637" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_EA62020D9472188E691F1E4C4A5740A2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_EA62020D9472188E691F1E4C4A5740A2" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeAxis" xlink:label="loc_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:to="loc_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeAxis_2972644C561DD18E03841E4C4A588B74" xlink:to="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumMember" xlink:label="loc_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeMember_22142DD75891E4D4F79D1E4C4A58A186" xlink:to="loc_us-gaap_MaximumMember_7B6F2E6F39C34608B90F1E4C4A582AAC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:to="loc_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_3D0C6875C6819B740F901E4C4A5880EE" xlink:to="loc_dei_EntityDomain_8883CBF29EC200A8C4BB1E4C4A580370" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_6BEF596D4766752689771E4C4A58AB4A" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_7A459E90E1FD52F71AFC1E4C4A5EF192" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_587C0D2B90513A0BE9CC1E4C4A5EDF69" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_680E50502645AC8AE6241E4C4A5E66B5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EuroliquidityfundMember" xlink:label="loc_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_cgnx_EuroliquidityfundMember_2A64CCF85A053C4E59341E4C4A5E0E02" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_cgnx_AgencyBondsMember_643215AABDFB281F6B441E4C4A5EA64F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_E9682B9C3748E5C5789E1E4C4A5E0461" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_78BA2D30FB4B6A39F1291E4C4A5E6A65" xlink:to="loc_us-gaap_MunicipalBondsMember_388AC81415755DBCC26C1E4C4A5E0263" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_14031C52C6B0593511441E4C4A589C89" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_92F68234BD9A541FE96A1E4C4A5EF8A5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_2424BEB97EA109AA21C61E4C4A5EABFE" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_4361A778B68824373F051E4C4A5F3EBF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_561BFC1FF6113CE9DFBD1E4C4A5FD05A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_7D9C6993E51F443378841E4C4A5F135F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BB9F64053636D2B7371C1E4C4A5E8438" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_93FB9A91E8EDF5C81DA91E4C4A5FBCCD" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_79F9D16722DB8CF399881A2830F848AA" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4B6C0FEDE66FD501D12E1A2830F85C65" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_79F9D16722DB8CF399881A2830F848AA" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4B6C0FEDE66FD501D12E1A2830F85C65" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_7E7243AE8EF5CBD0F2331A2830F87416" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4B6C0FEDE66FD501D12E1A2830F85C65" xlink:to="loc_dei_LegalEntityAxis_7E7243AE8EF5CBD0F2331A2830F87416" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_BCFE6E40C8AB87A182971A2830F97E06" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_7E7243AE8EF5CBD0F2331A2830F87416" xlink:to="loc_dei_EntityDomain_BCFE6E40C8AB87A182971A2830F97E06" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_7312254D752A3F8C55EF1A2830F9E9FF" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4B6C0FEDE66FD501D12E1A2830F85C65" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_7312254D752A3F8C55EF1A2830F9E9FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_7312254D752A3F8C55EF1A2830F9E9FF" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_6FC61B994CA462F08CCA1A2830F9099D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_6FC61B994CA462F08CCA1A2830F9099D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_4AEA4B89F0EFF429AEE11A2830F93A81" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_4AEA4B89F0EFF429AEE11A2830F93A81" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_6E2077F6599BA8AAEE121A2830F9677B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_6E2077F6599BA8AAEE121A2830F9677B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_A8B8AAABDD5FB189A52D1A2830F9713B" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_A8B8AAABDD5FB189A52D1A2830F9713B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_7ED3234FF3346A4555101A2830F91849" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_8BB3DA46524F053018D51A2830F99305" xlink:to="loc_us-gaap_MunicipalBondsMember_7ED3234FF3346A4555101A2830F91849" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4B6C0FEDE66FD501D12E1A2830F85C65" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_1FE395BA60F2ED223ED81A2830F9025A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_31B0FA6D153294A6F31E1A2830FA8A8F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_5C388FB464F9A4DD20641A2830FA39FC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_78CB6D3B10FE4FB51B301A2830FABF6D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_C32DD28CE115C524301E1A2830FA0C84" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D48EC28C31AD1DBF7D361A2830F98799" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss_918C0A20E03ED9F2BF641A2830FA59F0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021" xlink:to="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock_B63B04DBA28692370C661A282F3977A8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E13484C44459A213A34D1A282F395131" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E13484C44459A213A34D1A282F395131" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_17B259BF0D72403290EA1A282F39838F" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021" xlink:to="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_17B259BF0D72403290EA1A282F39838F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_483283C314CE663A762C1A282F399970" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_14618D91FB4675B5169C1A282F399021" xlink:to="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_483283C314CE663A762C1A282F399970" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CommitmentsAndContingencies" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_575CA33595B0467908651A282F575C22" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_843B73E64C151F9F5F271A282F57B2E4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_575CA33595B0467908651A282F575C22" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_843B73E64C151F9F5F271A282F57B2E4" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_95B5A4469D0289E210801A282F9A93BF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_C544A7681837C51339911A282F9A4AC7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_95B5A4469D0289E210801A282F9A93BF" xlink:to="loc_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_C544A7681837C51339911A282F9A4AC7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesRentExpenseNet" xlink:label="loc_us-gaap_OperatingLeasesRentExpenseNet_11875B26868E330FEC871A282F9A2C75" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_95B5A4469D0289E210801A282F9A93BF" xlink:to="loc_us-gaap_OperatingLeasesRentExpenseNet_11875B26868E330FEC871A282F9A2C75" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesIncomeStatementLeaseRevenue" xlink:label="loc_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue_7D9E659ACCE05DE023471A282F9AEDB2" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_95B5A4469D0289E210801A282F9A93BF" xlink:to="loc_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue_7D9E659ACCE05DE023471A282F9AEDB2" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LegalSettlementTotal" xlink:label="loc_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_95B5A4469D0289E210801A282F9A93BF" xlink:to="loc_cgnx_LegalSettlementTotal_9A6FE586060801DA63E91A282F9AD744" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LegalSettlementAsset" xlink:label="loc_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_95B5A4469D0289E210801A282F9A93BF" xlink:to="loc_cgnx_LegalSettlementAsset_EB67D147234D70718E451A282F9BECD6" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Lifeofpatentyears" xlink:label="loc_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_95B5A4469D0289E210801A282F9A93BF" xlink:to="loc_cgnx_Lifeofpatentyears_10B6A8951D9D815DDE021A282F9BC9AA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LegalSettlementExpense" xlink:label="loc_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_95B5A4469D0289E210801A282F9A93BF" xlink:to="loc_cgnx_LegalSettlementExpense_7BBB9D0E8BD503E583FE1A282F9B12C4" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_AB7B2F407737CF9ABE491A2830C1165B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_AB7B2F407737CF9ABE491A2830C1165B" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_F61E51C4C09BBEB090231A2830C14C93" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_F61E51C4C09BBEB090231A2830C14C93" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_47C9E0C86F046453BB3F1A2830C1083D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_47C9E0C86F046453BB3F1A2830C1083D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_C705DF2B5C19819D2EA01A2830C180CA" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears_C705DF2B5C19819D2EA01A2830C180CA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_B57460F0B047ECD8489B1A2830C1F388" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears_B57460F0B047ECD8489B1A2830C1F388" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_43A12F536ADD4B7909B51A2830C138AB" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears_43A12F536ADD4B7909B51A2830C138AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_671E621607625B09656A1A2830C1E596" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter_671E621607625B09656A1A2830C1E596" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_3318A1C63493A8A78C741A2830C1A2D2" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract_AF6B56EE9092743B80441A2830C1EDDD" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsDue_3318A1C63493A8A78C741A2830C1A2D2" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_F46D6BE547882807BA181A282F83BF8D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_F46D6BE547882807BA181A282F83BF8D" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_AC24657E30F6E07581F51A282F83CE45" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent_AC24657E30F6E07581F51A282F83CE45" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_84E2B9E7FB4FDC643A0F1A282F83CF59" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears_84E2B9E7FB4FDC643A0F1A282F83CF59" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_1987FCBADC99472048E11A282F832EA4" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears_1987FCBADC99472048E11A282F832EA4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_227981019EBB62C0108C1A282F83A236" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears_227981019EBB62C0108C1A282F83A236" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_E69E97B07C7B0F830AF81A282F83D08F" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears_E69E97B07C7B0F830AF81A282F83D08F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_35080A8DE246CBF3E8A81A282F839795" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter_35080A8DE246CBF3E8A81A282F839795" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable" xlink:label="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_888D8CD232D0E0D23E631A282F84A7FB" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract_62C126A3C40C143DE8101A282F83E077" xlink:to="loc_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable_888D8CD232D0E0D23E631A282F84A7FB" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/CommitmentsAndContingenciesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_215455C770D786FB4CE71A282F756DE7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_01611107EAF1D990C3761A282F754B4B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_215455C770D786FB4CE71A282F756DE7" xlink:to="loc_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_01611107EAF1D990C3761A282F754B4B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock" xlink:label="loc_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_215455C770D786FB4CE71A282F756DE7" xlink:to="loc_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock_921FB7AB7E6C914E38B61A282F75EDB6" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_3BE8495554B9E57586CF1A282FF388FC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_3BE8495554B9E57586CF1A282FF388FC" xlink:to="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:to="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DC6E0FB1FBAD9B234941A282FF4C5CB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DC6E0FB1FBAD9B234941A282FF4C5CB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C0A10A911EFAA972CE601A282FF42A5A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C0A10A911EFAA972CE601A282FF42A5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_64D6807C724C1F50D5D51A282FF49A34" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_64D6807C724C1F50D5D51A282FF49A34" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_D0156B6B02030E3FAC4F1A282FF4B8F0" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_D0156B6B02030E3FAC4F1A282FF4B8F0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_F1FDE7644A9BCEAB76E11A282FF431C9" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:to="loc_us-gaap_InventoryNet_F1FDE7644A9BCEAB76E11A282FF431C9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_AD633AE9DF3856881DA51A282FF41835" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_AD633AE9DF3856881DA51A282FF41835" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_568742699C103C52586F1A282FF445C3" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_3AD74B74E013593E8A051A282FF46D02" xlink:to="loc_us-gaap_AssetsCurrent_568742699C103C52586F1A282FF445C3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_35401F58355B8D6D0E351A282FF464A1" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:to="loc_us-gaap_LongTermInvestments_35401F58355B8D6D0E351A282FF464A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_C081DAC605846E5A4AE11A282FF43419" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_C081DAC605846E5A4AE11A282FF43419" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_E7E211FBE508A85707F41A282FF49A8B" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:to="loc_us-gaap_Goodwill_E7E211FBE508A85707F41A282FF49A8B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_89ECCF5E96F26F0EC3311A282FF5E65C" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_89ECCF5E96F26F0EC3311A282FF5E65C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_7396298311410FC1EDCF1A282FF528E3" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:to="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_7396298311410FC1EDCF1A282FF528E3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_BC8C88E33FD5B6B94D651A282FF5D759" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_BC8C88E33FD5B6B94D651A282FF5D759" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_CF6B00A390CFBB294B0F1A282FF500E1" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_41CDA2ECC4F6B9D6AEED1A282FF3B168" xlink:to="loc_us-gaap_Assets_CF6B00A390CFBB294B0F1A282FF500E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_3BE8495554B9E57586CF1A282FF388FC" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_67AF2C4F24EA14EB4B7C1A282FF5E0D3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:to="loc_us-gaap_AccountsPayableCurrent_67AF2C4F24EA14EB4B7C1A282FF5E0D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_237250EBC9A16276C08C1A282FF50AE5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_237250EBC9A16276C08C1A282FF50AE5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_DD14A60DABB309E0CCC41A282FF564B7" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_DD14A60DABB309E0CCC41A282FF564B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_68872E406FFDFE4972531A282FF56AAA" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_68872E406FFDFE4972531A282FF56AAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_A7DFCA2E1489564AD3511A282FF5DE8B" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_F5596DD73584B58E40541A282FF5B38E" xlink:to="loc_us-gaap_LiabilitiesCurrent_A7DFCA2E1489564AD3511A282FF5DE8B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_E8A684E968E85402F4AB1A282FF5C7F5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_E8A684E968E85402F4AB1A282FF5C7F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_029D4CD0B3D4B56E3ADC1A282FF5C725" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_029D4CD0B3D4B56E3ADC1A282FF5C725" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_6CDEFC3216181348E2F21A282FF6620A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_6CDEFC3216181348E2F21A282FF6620A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_EE671F1FD0F1A75F91BD1A282FF683A6" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:to="loc_us-gaap_Liabilities_EE671F1FD0F1A75F91BD1A282FF683A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaap_CommitmentsAndContingencies_BB87C87B7CAFDA8E6F011A282FF6EDC3" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:to="loc_us-gaap_CommitmentsAndContingencies_BB87C87B7CAFDA8E6F011A282FF6EDC3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:to="loc_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_8254ECFEA9D2B6C9A9521A282FF62A11" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:to="loc_us-gaap_CommonStockValueOutstanding_8254ECFEA9D2B6C9A9521A282FF62A11" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_20D810F30A58415BC46A1A282FF69587" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_20D810F30A58415BC46A1A282FF69587" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_07CEB0A033E3660ECC5B1A282FF6DF23" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_07CEB0A033E3660ECC5B1A282FF6DF23" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_11579C6BEA24A4E7DA551A282FF63017" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_11579C6BEA24A4E7DA551A282FF63017" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_E2475ACF2D7E463EC0A81A282FF6DCF4" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_21101B1A9F870AF293601A282FF67C95" xlink:to="loc_us-gaap_StockholdersEquity_E2475ACF2D7E463EC0A81A282FF6DCF4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_3C18B49CFE853685A4F81A282FF6EDA7" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_8256940E2F8CC6D6A4341A282FF5183B" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_3C18B49CFE853685A4F81A282FF6EDA7" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_F78528DA8D42077B40C01A2830E09BD6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_92468EC7348102936B541A2830E058E8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_F78528DA8D42077B40C01A2830E09BD6" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_92468EC7348102936B541A2830E058E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_66FC9F6EC39402E501351A2830E03EDC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_F78528DA8D42077B40C01A2830E09BD6" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_66FC9F6EC39402E501351A2830E03EDC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_D26010C8BAB963C0972C1A2830E093E8" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_F78528DA8D42077B40C01A2830E09BD6" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_D26010C8BAB963C0972C1A2830E093E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_10DF69A4BAF152F395CD1A2830E0265E" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_F78528DA8D42077B40C01A2830E09BD6" xlink:to="loc_us-gaap_CommonStockSharesIssued_10DF69A4BAF152F395CD1A2830E0265E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_E177CEB125958E2E709E1A2830E00556" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_F78528DA8D42077B40C01A2830E09BD6" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_E177CEB125958E2E709E1A2830E00556" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_906D51CD0EB9FACFC04F1E4C4B926712" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:to="loc_us-gaap_NetIncomeLoss_906D51CD0EB9FACFC04F1E4C4B926712" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GainLossOnSaleOfBusiness" xlink:label="loc_us-gaap_GainLossOnSaleOfBusiness_1DACEC20DA97E20D4DF91E4C4B937920" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_GainLossOnSaleOfBusiness_1DACEC20DA97E20D4DF91E4C4B937920" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_0FAA6E69E216458033541E4C4B93D9D8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_StockOptionPlanExpense_0FAA6E69E216458033541E4C4B93D9D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_A7D0314072493358560E1E4C4B93752D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_Depreciation_A7D0314072493358560E1E4C4B93752D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_1C124FBCFC85C38396E31E4C4B930774" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_1C124FBCFC85C38396E31E4C4B930774" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_6C02D53AA0C33D727FF71E4C4B931853" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_6C02D53AA0C33D727FF71E4C4B931853" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_0618D48046264269E7F71E4C4B930C1C" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_0618D48046264269E7F71E4C4B930C1C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_65E6D76E81EB936D759E1E4C4B93B045" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_65E6D76E81EB936D759E1E4C4B93B045" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_5ABE0E775E80CE8A23AD1E4C4B9302CB" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_5ABE0E775E80CE8A23AD1E4C4B9302CB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2BEE15175E0D331360391E4C4B930E5C" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_2BEE15175E0D331360391E4C4B930E5C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_898F9167D5EF914ECD7A1E537C5806B3" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_898F9167D5EF914ECD7A1E537C5806B3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_90E0EBD986590449B2CF1E4C4B93AAED" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_90E0EBD986590449B2CF1E4C4B93AAED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_64006E14FA0829C2C24A1E4C4B93D4AF" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_64006E14FA0829C2C24A1E4C4B93D4AF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_B2752BE278C62366F7E81E4C4B93F291" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_B2752BE278C62366F7E81E4C4B93F291" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_EB38C8BD8D0C4EA297F11E4C4B94FB09" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_EB38C8BD8D0C4EA297F11E4C4B94FB09" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_BD6C1B511C90080C82531E541B17964D" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits_BD6C1B511C90080C82531E541B17964D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_E30E8319B83FDEF5B4DF1E4C4B94F24E" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_88861849DC32C67D6EB61E4C4B93C0EE" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_E30E8319B83FDEF5B4DF1E4C4B94F24E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_6B265C2EF7C737FC95031E4C4B942977" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_9A448F4BACAE9DA26A881E4C4B92CF97" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_6B265C2EF7C737FC95031E4C4B942977" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_F903C4880126BD3595F91E4C4B94F633" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_F903C4880126BD3595F91E4C4B94F633" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_97D9D56375CD691DFC4B1E4C4B94B94B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_97D9D56375CD691DFC4B1E4C4B94B94B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_BE5AF7D96DF034F725D01E4C4B949F34" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_BE5AF7D96DF034F725D01E4C4B949F34" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_5E61C32F31D97E4DB0411E4C4B94BEAC" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_5E61C32F31D97E4DB0411E4C4B94BEAC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="loc_us-gaap_PaymentsToAcquireIntangibleAssets_72ED92FC2B823C2A68ED1E4C4B9463E3" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:to="loc_us-gaap_PaymentsToAcquireIntangibleAssets_72ED92FC2B823C2A68ED1E4C4B9463E3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates" xlink:label="loc_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_4F3554B810F2765BE8081E63966F3BD8" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:to="loc_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates_4F3554B810F2765BE8081E63966F3BD8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0AEB39D7A0CEC51545971E4C4B94017D" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_2CD470D01122261752411E4C4B940296" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_0AEB39D7A0CEC51545971E4C4B94017D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_A2C07A33F1E92DCAC5B41E4C4B9437EB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_A2C07A33F1E92DCAC5B41E4C4B9437EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_F66A79AD23A2184EE3F91E4C4B9441BA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_F66A79AD23A2184EE3F91E4C4B9441BA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_0C2FEC409EC12C6118071E4C4B94BFCB" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_0C2FEC409EC12C6118071E4C4B94BFCB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsForPreviousAcquisition" xlink:label="loc_us-gaap_PaymentsForPreviousAcquisition_36872B7668AD73E2EE671E644319447A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:to="loc_us-gaap_PaymentsForPreviousAcquisition_36872B7668AD73E2EE671E644319447A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4462F242C5AA3385A5EE1E4C4B9564FA" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_D280314EB4EC63B4A9F71E4C4B945220" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_4462F242C5AA3385A5EE1E4C4B9564FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2CA5CF8D3605F0ED9E2A1E4C4B95C1BD" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2CA5CF8D3605F0ED9E2A1E4C4B95C1BD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_0A403467CE64510E285F1E4C4B96253B" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_0A403467CE64510E285F1E4C4B96253B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_53DB11A408023166F9BA1E4C4B96CCDE" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_53DB11A408023166F9BA1E4C4B96CCDE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D34A64E9EB63A52523571E4C4B9673CE" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D34A64E9EB63A52523571E4C4B9673CE" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Stockbasedcompensationdiscontinuedoperation" xlink:label="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_5480886FD17EAE7332751E4C4B97CEC6" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_5480886FD17EAE7332751E4C4B97CEC6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DepreciationAndAmortizationDiscontinuedOperations" xlink:label="loc_us-gaap_DepreciationAndAmortizationDiscontinuedOperations_47D73B5D98A565B79DF11E4C4B971951" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_us-gaap_DepreciationAndAmortizationDiscontinuedOperations_47D73B5D98A565B79DF11E4C4B971951" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CapitalExpenditureDiscontinuedOperations" xlink:label="loc_us-gaap_CapitalExpenditureDiscontinuedOperations_D24BA6ED4C5E1560D6671E4C4B9766EA" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_8F161861215A23647FAC1E4C4B92C8FB" xlink:to="loc_us-gaap_CapitalExpenditureDiscontinuedOperations_D24BA6ED4C5E1560D6671E4C4B9766EA" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A0FDFB4903764AA163461A283041EBFB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_806CABC648298D04C4201A2830414BB9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A0FDFB4903764AA163461A283041EBFB" xlink:to="loc_us-gaap_NetIncomeLoss_806CABC648298D04C4201A2830414BB9" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CashflowshedgesAbstract" xlink:label="loc_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A0FDFB4903764AA163461A283041EBFB" xlink:to="loc_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_B2DB9C686A32409128FC1A28304176F6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_B2DB9C686A32409128FC1A28304176F6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_9E199E5FEF79F40521CD1A283041B95B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_9E199E5FEF79F40521CD1A283041B95B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_5D190BFE7F249F49E6E11A283041E287" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CashflowshedgesAbstract_E1131D2F0954BECC8CEA1A28304141D9" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_5D190BFE7F249F49E6E11A283041E287" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A0FDFB4903764AA163461A283041EBFB" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_66AC0E712847894A8A2C1A283042E608" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_66AC0E712847894A8A2C1A283042E608" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ACCAFB10000FABE072301A28304250B0" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ACCAFB10000FABE072301A28304250B0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_F0B1342D8ABC15EC13E91A283042BA23" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract_33161846E9A069514F5E1A283041E6F5" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_F0B1342D8ABC15EC13E91A283042BA23" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CurrencytranslationadjustmentAbstract" xlink:label="loc_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A0FDFB4903764AA163461A283041EBFB" xlink:to="loc_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_F4B39C8045255BF641801A2830420930" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_F4B39C8045255BF641801A2830420930" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_42E8D1BAE7CD1249D4BB1A283042268E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CurrencytranslationadjustmentAbstract_723BC27F8FCAB20321921A283042CE2E" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent_42E8D1BAE7CD1249D4BB1A283042268E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_27396C711787FA800FFA1A28304285A6" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A0FDFB4903764AA163461A283041EBFB" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_27396C711787FA800FFA1A28304285A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_7E42B5A6D5D82EC81F361A28304317E9" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A0FDFB4903764AA163461A283041EBFB" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_7E42B5A6D5D82EC81F361A28304317E9" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_4B63F2494F862EE668221A282F7376FB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_F0B025E306CA2D8243AB1A282F73B855" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_4B63F2494F862EE668221A282F7376FB" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_F0B025E306CA2D8243AB1A282F73B855" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_70A9AA87C76106D21BEA1A282F734410" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_4B63F2494F862EE668221A282F7376FB" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_70A9AA87C76106D21BEA1A282F734410" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_550DFBB5ADBF1995858B1A282F733C99" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_4B63F2494F862EE668221A282F7376FB" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_550DFBB5ADBF1995858B1A282F733C99" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfOperations" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_6B4D0B440352F586BCA81A282FA9C2EA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_SalesRevenueNet_6B4D0B440352F586BCA81A282FA9C2EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_CE133541A1F3018F154D1A282FA9A65F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_CE133541A1F3018F154D1A282FA9A65F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_D2F63219D86BB59C12881A282FA9FBC5" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_GrossProfit_D2F63219D86BB59C12881A282FA9FBC5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_CE869EDE8EDAEDAD6F5E1A282FA96555" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_CE869EDE8EDAEDAD6F5E1A282FA96555" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_E92EA548B895AE4809701A282FA9F592" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_E92EA548B895AE4809701A282FA9F592" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_FB9D52F2D67D75980DF51A282FAA2D32" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_OperatingIncomeLoss_FB9D52F2D67D75980DF51A282FAA2D32" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_C7F1477E1D785F6C352A1A282FAA9976" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_C7F1477E1D785F6C352A1A282FAA9976" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_29382024419BFB0260F71A282FAADC8F" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_29382024419BFB0260F71A282FAADC8F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_3CEDD2410586E86AEA111A282FAAC1EF" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_3CEDD2410586E86AEA111A282FAAC1EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C6455FD752F6891315171A282FAA8EFB" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C6455FD752F6891315171A282FAA8EFB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_5E51C565FE8DBB7FB2DA1A282FAA2EBD" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_5E51C565FE8DBB7FB2DA1A282FAA2EBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperations_BDA88E06E1EB2FFF8E571A282FAAC5EF" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperations_BDA88E06E1EB2FFF8E571A282FAAC5EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_BEDF1DA022662748D83F1A282FAA17A0" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_BEDF1DA022662748D83F1A282FAA17A0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_6E0132EFA28F6830294A1A282FAA5DFD" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_NetIncomeLoss_6E0132EFA28F6830294A1A282FAA5DFD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="loc_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5FF0E9FA95A5758D35B11A282FABE06F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare_5FF0E9FA95A5758D35B11A282FABE06F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_96AFCD9476437B19C4551A282FABAF67" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare_96AFCD9476437B19C4551A282FABAF67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaap_EarningsPerShareBasic_4E934BE6145F45B2EE941A282FABD97E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAbstract_808FF66AB12DEF53DAF01A282FAA98E8" xlink:to="loc_us-gaap_EarningsPerShareBasic_4E934BE6145F45B2EE941A282FABD97E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_471D6A9538915B9C3E7E1A282FAB819E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_471D6A9538915B9C3E7E1A282FAB819E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_F8576D41AFE022B807EE1A282FAB5641" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare_F8576D41AFE022B807EE1A282FAB5641" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_C04F5F8AE0C9A97035871A282FAB2D69" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_D8B4CBB4F868E796E8401A282FABD3C1" xlink:to="loc_us-gaap_EarningsPerShareDiluted_C04F5F8AE0C9A97035871A282FAB2D69" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9" xlink:type="locator" />
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_675E4CA8C869E9C163191A282FAB0B2F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_675E4CA8C869E9C163191A282FAB0B2F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_AA7AA83E0F3F088403811A282FAB2A9D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_FC9483F30EF775C158571A282FAB58C9" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_AA7AA83E0F3F088403811A282FAB2A9D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_E48F248A7FA99D3FECE31A282FAB8ED0" xlink:type="locator" />
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_BDCA3D32C9ED5DF59AAD1A282FA959A0" xlink:to="loc_us-gaap_CommonStockDividendsPerShareCashPaid_E48F248A7FA99D3FECE31A282FAB8ED0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquity" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_0410FE7988FB5349677D1E4C4B87B95A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_FEB6CFACE468EEA8DBED1E4C4B87E606" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_0410FE7988FB5349677D1E4C4B87B95A" xlink:to="loc_us-gaap_StatementTable_FEB6CFACE468EEA8DBED1E4C4B87E606" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_60564673E331B65DF3AB1E4C4B872796" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_FEB6CFACE468EEA8DBED1E4C4B87E606" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_60564673E331B65DF3AB1E4C4B872796" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_60564673E331B65DF3AB1E4C4B872796" xlink:to="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_ADE3537EECA7553A2F3D1E4C4B8799A7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:to="loc_us-gaap_CommonStockMember_ADE3537EECA7553A2F3D1E4C4B8799A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_0834B14EA4F3E2C6C3541E4C4B874EC6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:to="loc_us-gaap_RetainedEarningsMember_C7CB614B61D4C1FA51001E4C4B87B1BE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_D8F03422E9FC6CDC930A1E4C4B87590A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_95E84568F66F76AAB2671E4C4B877D5D" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_D8F03422E9FC6CDC930A1E4C4B87590A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_491D357AB3C36600824D1E4C4B885A5B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_FEB6CFACE468EEA8DBED1E4C4B87E606" xlink:to="loc_us-gaap_StatementLineItems_491D357AB3C36600824D1E4C4B885A5B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_491D357AB3C36600824D1E4C4B885A5B" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_1570AAF08217A8F29CD61E4C4B88294C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockholdersEquity_1570AAF08217A8F29CD61E4C4B88294C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_74F9E78E47F2DD2E30391E4C4B8831DB" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_CommonStockSharesIssued_74F9E78E47F2DD2E30391E4C4B8831DB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_8E0AA0DE8196E26456641E4C4B88E911" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C7D85C4FABD99DD4DB471E4C4B88DCF4" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C7D85C4FABD99DD4DB471E4C4B88DCF4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_9C9DA41B5C78CFEAD40F1E4C4B8851A9" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_9C9DA41B5C78CFEAD40F1E4C4B8851A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_0911C628809DDC4D47E01E4C4B889011" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_0911C628809DDC4D47E01E4C4B889011" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_BCBBA000F2CE79E3B8D21E4C4B88A072" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation_3ED2AB2456FC595B21DB1E4C4B888D56" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting" xlink:label="loc_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting_E3B984052CDE59C991321E4C4B889ADD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsCommonStockCash" xlink:label="loc_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_DividendsCommonStockCash_43B098C96D1341D566981E4C4B886DA9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_F064E93B333F124B573E1E4C4B8852C9" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_NetIncomeLoss_F064E93B333F124B573E1E4C4B8852C9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_230FB332D73AE67AD5061E4C4B8853B7" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_230FB332D73AE67AD5061E4C4B8853B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_DDF0379ED212917DE7A61E4C4B888205" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_DDF0379ED212917DE7A61E4C4B888205" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_83C91DD80BDACDE9DEC81E4C4B884A61" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_83C91DD80BDACDE9DEC81E4C4B884A61" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_0240DF0E30457920A8711E4C4B881C40" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_0240DF0E30457920A8711E4C4B881C40" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_9CC67F0484D6BC47F5221E4C4B886501" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_9CC67F0484D6BC47F5221E4C4B886501" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_711028EE9F28B04BDEBD1E4C4B88D1E9" xlink:type="locator" />
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_StockholdersEquity_711028EE9F28B04BDEBD1E4C4B88D1E9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_44FA7CDC6161060D966D1E4C4B888833" xlink:type="locator" />
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_197D000F231EED6475541E4C4B888CEF" xlink:to="loc_us-gaap_CommonStockSharesIssued_44FA7CDC6161060D966D1E4C4B888833" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquityParenthetical" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_718134986687F07495F91E4C4B70AACC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_641B77959E144F6218AF1E4C4B7142B1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_718134986687F07495F91E4C4B70AACC" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_641B77959E144F6218AF1E4C4B7142B1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C9BA89431F039C3F0FA71E4C4B7151AA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_718134986687F07495F91E4C4B70AACC" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_C9BA89431F039C3F0FA71E4C4B7151AA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_3B0143D3397D7FA328C01E4C4B712B56" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_718134986687F07495F91E4C4B70AACC" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax_3B0143D3397D7FA328C01E4C4B712B56" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DerivativeInstruments" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A7C1727BD9DD39BE1FBE1A2830FD9138" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_C101C48FEF98CD29126D1A2830FD6BDA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A7C1727BD9DD39BE1FBE1A2830FD9138" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_C101C48FEF98CD29126D1A2830FD6BDA" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsBalanceSheetLocationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_164F4223B1EA46F955A21A2831044C9B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_164F4223B1EA46F955A21A2831044C9B" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:to="loc_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_BD1F3183FCE974DD6BC91A28310444E9" xlink:to="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_FD54C134C9DD73F7E3B41A283104A2D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_386B558022DE3ED1E09F1A2831044C03" xlink:to="loc_us-gaap_NondesignatedMember_1C21CFDF1B22303700901A2831042A4F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_BFA603AEBB5AE1A34B0E1A283104AA0E" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_29118444D9B9A687C4F21A283104D4E4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_5DDB9129DD365EEDA95D1A283104202A" xlink:to="loc_cgnx_AccruedExpensesMember_905B69CEBA0C69CA8BA61A283104E962" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_9911A19096100E3D6F0F1A28310432D9" xlink:to="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:to="loc_us-gaap_DerivativeAssets_31CE26FB876076B134271A2831059350" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_03E35AC13BE8455881F61A28310594A5" xlink:to="loc_us-gaap_DerivativeLiabilities_CC63EFF14F250743522E1A28310512CF" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsChangesInAociDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_61B4A3842B80F457CA8C1A282ECDFB24" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5D2C3A6152C9F6902EF01A282ECDCFBF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_61B4A3842B80F457CA8C1A282ECDFB24" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5D2C3A6152C9F6902EF01A282ECDCFBF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_D91F36EAD6102169C7D81A282ECD1856" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5D2C3A6152C9F6902EF01A282ECDCFBF" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_D91F36EAD6102169C7D81A282ECD1856" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_9FFF32BC97FAF07A13121A282ECD5C08" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_D91F36EAD6102169C7D81A282ECD1856" xlink:to="loc_us-gaap_EquityComponentDomain_9FFF32BC97FAF07A13121A282ECD5C08" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember" xlink:label="loc_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_9FFF32BC97FAF07A13121A282ECD5C08" xlink:to="loc_us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember_4E2BB2245282E0E691E31A282ECDC315" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_38A5354582E1CF05E6E81A282ECDB65E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_5D2C3A6152C9F6902EF01A282ECDCFBF" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_38A5354582E1CF05E6E81A282ECDB65E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AOCIAttributableToParentNetOfTaxRollForward" xlink:label="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_38A5354582E1CF05E6E81A282ECDB65E" xlink:to="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_B74AAB6EE958EAB956691A282ECD54DE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_B74AAB6EE958EAB956691A282ECD54DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTax_D02C908D483164F98E711A282ECD092A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="loc_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:to="loc_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_07B7DE77055EA17874081A282ED27621" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_119BF1B0C974F69A8FA51A282ED334EF" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AOCIAttributableToParentNetOfTaxRollForward_FFA9B043131E6734B6C81A282ECDF219" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_119BF1B0C974F69A8FA51A282ED334EF" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_7F20C6E155990559DF2B1A282F3359F0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_945599ACD35CB395122C1A282F3335BA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_7F20C6E155990559DF2B1A282F3359F0" xlink:to="loc_us-gaap_DerivativeTable_945599ACD35CB395122C1A282F3335BA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_35426F1D1C6F034E6F831A282F337639" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_945599ACD35CB395122C1A282F3335BA" xlink:to="loc_us-gaap_HedgingDesignationAxis_35426F1D1C6F034E6F831A282F337639" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_35426F1D1C6F034E6F831A282F337639" xlink:to="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_E20D55CFBD407CFC057A1A282F3367EF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413" xlink:to="loc_us-gaap_NondesignatedMember_E20D55CFBD407CFC057A1A282F3367EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_8024DF841871AA11FA6E1A282F33917B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_F1ADD7A1CF709907C09F1A282F336413" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_8024DF841871AA11FA6E1A282F33917B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_945599ACD35CB395122C1A282F3335BA" xlink:to="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_E56B89DCF425CFCAAEF31A282F335617" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1" xlink:label="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:to="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_F8B47DBD7D1AF1908B721A282F337350" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths" xlink:label="loc_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeLineItems_2CC75F1371A170A0C9A21A282F3333ED" xlink:to="loc_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths_9E2D70BAF403AA4D49541A282F330C46" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A1C54E396EA79261E6CA1A2830EDA736" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_96FA3649FADE698B3DF91A2830EE1C62" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A1C54E396EA79261E6CA1A2830EDA736" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_96FA3649FADE698B3DF91A2830EE1C62" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C4619B84071594BCE6F41A2830EE630E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A1C54E396EA79261E6CA1A2830EDA736" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C4619B84071594BCE6F41A2830EE630E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_DAEE1568B1A10B8669FC1A2830EEAA8D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A1C54E396EA79261E6CA1A2830EDA736" xlink:to="loc_us-gaap_DerivativeAssets_DAEE1568B1A10B8669FC1A2830EEAA8D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_03776EE0374B2A603A191A2830EE8FC2" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A1C54E396EA79261E6CA1A2830EDA736" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_03776EE0374B2A603A191A2830EE8FC2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_C04E4D208FBED7F302E01A2830EEA0F4" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A1C54E396EA79261E6CA1A2830EDA736" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_C04E4D208FBED7F302E01A2830EEA0F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_731BB1C2A1137B7BE7201A2830EED495" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A1C54E396EA79261E6CA1A2830EDA736" xlink:to="loc_us-gaap_DerivativeLiabilities_731BB1C2A1137B7BE7201A2830EED495" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_647BB355939727002F421A282F8AACDB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_647BB355939727002F421A282F8AACDB" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_DADE0B6516EAA33A61AB1A282F8AAF07" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_DADE0B6516EAA33A61AB1A282F8AAF07" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_DADE0B6516EAA33A61AB1A282F8AAF07" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_480A4AB347EC1877B2231A282F8B12BC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_CashFlowHedgingMember_480A4AB347EC1877B2231A282F8B12BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueGoodsNetMember" xlink:label="loc_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_SalesRevenueGoodsNetMember_F1BE7B293FEA3DDA44ED1A282F8BE236" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_271E260A815E1EE8173E1A282F8BE560" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_4BB3EF27723B91D4F2BE1A282F8B0861" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_A4AB23056228560E61091A282F8AB47A" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_181BE35BBA3890F2A5791A282F8B3A40" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_24CD5954A9D9DC83FF8F1A282F8B1327" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:to="loc_us-gaap_HedgingDesignationAxis_24CD5954A9D9DC83FF8F1A282F8B1327" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_24CD5954A9D9DC83FF8F1A282F8B1327" xlink:to="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_98E552D6F1725FFE05811A282F8BA2C7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_98E552D6F1725FFE05811A282F8BA2C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_6BB5325F09A9B70F40101A282F8B4AA7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_4A7C96C97C04445479411A282F8B0024" xlink:to="loc_us-gaap_NondesignatedMember_6BB5325F09A9B70F40101A282F8B4AA7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_BA236F6D4D834300D5851A282F8AE081" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_20B2F49E83887CA209FB1A282F8B5BE7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_20B2F49E83887CA209FB1A282F8B5BE7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_9D69E4480EA32FDA7B051A282F8BA59F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_519BD8A97D5FA43503C51A282F8CA569" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNetAbstract" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_36B126D645540E7F58A21A282F8B3BB7" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_3F45D6B9E979CCEE4B521A282F8CEDA7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNetAbstract_3F40DDA74E58088707701A282F8C05FE" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_2116290E0588D69E70731A282F8CB2A9" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_F8236073E0B3650FF86F1E4C494993FB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_F8236073E0B3650FF86F1E4C494993FB" xlink:to="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_A8FFF3BDB13C712860DF1E4C494AB822" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:to="loc_us-gaap_HedgingDesignationAxis_A8FFF3BDB13C712860DF1E4C494AB822" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_A8FFF3BDB13C712860DF1E4C494AB822" xlink:to="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_6ECE76750B98A54C8C9C1E4C494ABEFC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_6ECE76750B98A54C8C9C1E4C494ABEFC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_F9FD71F3E87247C58A661E4C494A0631" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_78A1E805C1CFFC4EAB1E1E4C494AB844" xlink:to="loc_us-gaap_NondesignatedMember_F9FD71F3E87247C58A661E4C494A0631" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrencyAxis" xlink:label="loc_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:to="loc_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrencyAxis_DBBBF053EBF016B6E19A1E4C494ACFB7" xlink:to="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_USD" xlink:label="loc_currency_USD_C8436FA203FB74978E931E4C494A28C6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_USD_C8436FA203FB74978E931E4C494A28C6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_JPY" xlink:label="loc_currency_JPY_D812F3D6560929E1B2C61E4C494A0223" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_JPY_D812F3D6560929E1B2C61E4C494A0223" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_KRW" xlink:label="loc_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_KRW_08FF2E2CA13FC91427241E4C494A9D9E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_HUF" xlink:label="loc_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_HUF_9BAC7C762CB5656448951E4C494F7CC5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_SGD" xlink:label="loc_currency_SGD_78812ED043E28926D8C11E4C4950D68B" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_SGD_78812ED043E28926D8C11E4C4950D68B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_CAD" xlink:label="loc_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_CAD_ECBEB17D59CF1278F3521E4C4950AFFC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_GBP" xlink:label="loc_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_GBP_8DB417FEDBE0183B0AF91E4C4950B059" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2016/currency-2016-01-31.xsd#currency_TWD" xlink:label="loc_currency_TWD_C06B2009FB51854B57AD1E4C49502165" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_FB6D9976D9A22B45B5361E4C494AF332" xlink:to="loc_currency_TWD_C06B2009FB51854B57AD1E4C49502165" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_143FD34DF39228FF97431E4C4949626F" xlink:to="loc_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeLineItems_50EAB70CB99BDF4776061E4C4950ACD5" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_38B0A88CABA58BA2F4361E4C495076A0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_082C05EAEA2BB464FC291A282F1710FC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock_E40046EFEBAC1B76EAB61A282F1775BD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_082C05EAEA2BB464FC291A282F1710FC" xlink:to="loc_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock_E40046EFEBAC1B76EAB61A282F1775BD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_D26D3893AD7BEE132CCB1A282F174ED1" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_082C05EAEA2BB464FC291A282F1710FC" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_D26D3893AD7BEE132CCB1A282F174ED1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OffsettingAssetsTableTextBlock" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock_F7FBBACFFF801CD3200F1A282F17E107" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_082C05EAEA2BB464FC291A282F1710FC" xlink:to="loc_us-gaap_OffsettingAssetsTableTextBlock_F7FBBACFFF801CD3200F1A282F17E107" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F8C19F5C56ED6E26D3701A282F176496" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_082C05EAEA2BB464FC291A282F1710FC" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F8C19F5C56ED6E26D3701A282F176496" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock_681285A4C64281A7A2991A282F1709BB" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_082C05EAEA2BB464FC291A282F1710FC" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock_681285A4C64281A7A2991A282F1709BB" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DiscontinuedOperations" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_419E1C97E126A58DD0DC1A282F978212" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsPolicyTextBlock" xlink:label="loc_us-gaap_DiscontinuedOperationsPolicyTextBlock_20617878DCE5EDF375341A282F972282" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_419E1C97E126A58DD0DC1A282F978212" xlink:to="loc_us-gaap_DiscontinuedOperationsPolicyTextBlock_20617878DCE5EDF375341A282F972282" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_953A19F474E2112F85881E4C477A92B5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_953A19F474E2112F85881E4C477A92B5" xlink:to="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusAxis" xlink:label="loc_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusDomain" xlink:label="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LitigationStatusAxis_AA7B05A70587C133EECA1E4C477B2B58" xlink:to="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SettledLitigationMember" xlink:label="loc_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LitigationStatusDomain_CD46A399044D2CFECA831E4C477B4B56" xlink:to="loc_us-gaap_SettledLitigationMember_C6BF305C02928D184DAA1E4C477B3542" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseAxis" xlink:label="loc_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseTypeDomain" xlink:label="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LitigationCaseAxis_A0F7B4ED96E0F819FD2C1E4C477BD66B" xlink:to="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AMETEKMatterMember" xlink:label="loc_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LitigationCaseTypeDomain_C1C1F8FD95DC8501AB6C1E4C477BF330" xlink:to="loc_cgnx_AMETEKMatterMember_9BAA60E5EC7C86B43FA21E4C477B9DD7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_547922234F353D30BFFF1E4C477B725F" xlink:to="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GuaranteeObligationsMember" xlink:label="loc_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingencyNatureDomain_8FE150D46B9445B9F5FB1E4C477B4143" xlink:to="loc_us-gaap_GuaranteeObligationsMember_5F1F864F02605E711E581E4C477C892F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementOperatingActivitiesSegmentAxis" xlink:label="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentOperatingActivitiesDomain" xlink:label="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOperatingActivitiesSegmentAxis_34CEAFC0C0DA92064ED71E4C4781AD77" xlink:to="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B71D456F7A94C466A9801E4C478163E2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentOperatingActivitiesDomain_1B109F73960DE8DB09BC1E4C47810D0D" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B71D456F7A94C466A9801E4C478163E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_B083D06FE0583B4E771B1E4C47818986" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_B083D06FE0583B4E771B1E4C47818986" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_B4FB18144F2C1296955A1E4C47815500" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_B083D06FE0583B4E771B1E4C47818986" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_B4FB18144F2C1296955A1E4C47815500" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_365DF34B5920FFD0E3FD1E4C478218AD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_B4FB18144F2C1296955A1E4C47815500" xlink:to="loc_cgnx_SisdMember_365DF34B5920FFD0E3FD1E4C478218AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_07E2A2071B95FDF9043B1E4C4782B0D6" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_07E2A2071B95FDF9043B1E4C4782B0D6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_B0E5E25A22583060556F1E4C47828DB5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_07E2A2071B95FDF9043B1E4C4782B0D6" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_B0E5E25A22583060556F1E4C47828DB5" xlink:type="arc" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_B0E5E25A22583060556F1E4C47828DB5" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B71D456F7A94C466A9801E4C478163E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_60D37C19C20C6CF3814C1E4C477B2587" xlink:to="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration_D50396B5504FB09655CB1E4C4782CB4D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts_9B216F07233F17C58CC01E4C47825608" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_B97849AE33F4EF4A1CCD1E4C4782C30B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_D9637CDA514520B081881E4C4782B122" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_D9637CDA514520B081881E4C4782B122" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation_08D7EB135FCFCECCDA481E4C47823F85" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_AE495A373A5642457E1A1E4C478347C5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_B105BCC6187DC22EF0481E4C47839E20" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationSettlementAmount" xlink:label="loc_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_LitigationSettlementAmount_A45FEBCB6DE9FF55ABD81E4C478304BB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LegalFees" xlink:label="loc_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_LegalFees_6EDDFA8D2B5FB3B782461E4C4783A5CA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_DBA18741866813E1FDB31E4C47835243" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_DBA18741866813E1FDB31E4C47835243" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_8C6740258F74F1F5A8501E4C4783BDC0" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_CFE3CAB6F86C9E72CCDA1E4C47827E0A" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_8C6740258F74F1F5A8501E4C4783BDC0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_032BA870058931F35E491E4C4760D1FF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_032BA870058931F35E491E4C4760D1FF" xlink:to="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_FDFE7680C75D1CB707751E4C4760E656" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_A842C1C3ABC6714AB7991E4C476133FE" xlink:to="loc_cgnx_SisdMember_8B2C19BD749D23CFFB5B1E4C47616484" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_4D92B6E17CF4170BF5A61E4C4761F6BF" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_F093B83032F202F58C7E1E4C476107C4" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_B8EB32559B74E0D8C4141E4C47618305" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_FD4FD34184FF37FCA11A1E4C47609540" xlink:to="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue_B7BA7130A3B08AE48ADD1E4C4761691F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold_63773513CECA9690477D1E4C47612FCB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses_5D7011ED3074FE8B1E801E4C47619BFF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses" xlink:label="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses_46B51C09740471B76D641E4C47617FC3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses" xlink:label="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses_68449D6B81EA5345E70B1E4C47613C33" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax_2DA150D00DBA87F2C0831E4C47612544" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_E353002DC26F840BBAE81E4C47617C0A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Incomefromdiscontinuedoperationstotalpretax" xlink:label="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_Incomefromdiscontinuedoperationstotalpretax_AED7221358FF37C7011C1E4C4762675C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_26EA2093A0D2E7ECB4BA1E4C4762DAD4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity" xlink:label="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity_4E753FDD7D36A79A298F1E4C4762606F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Stockbasedcompensationdiscontinuedoperation" xlink:label="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_E5642319C52FE5E537391E4C476269B1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DepreciationDiscontinuedOperations" xlink:label="loc_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_DepreciationDiscontinuedOperations_28B20CCB8950960019CB1E4C4762816E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AmortizationDiscontinuedOperations" xlink:label="loc_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_cgnx_AmortizationDiscontinuedOperations_8EC5ABB4BABAFED3A86D1E4C4762C706" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CapitalExpenditureDiscontinuedOperations" xlink:label="loc_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_8FE9A679A3F5F5FDCC831E4C4761C00A" xlink:to="loc_us-gaap_CapitalExpenditureDiscontinuedOperations_245B7FC357361DC2D3C61E4C476235AC" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract" xlink:label="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_16C2D89E09A94ECB4ADB1A282F5F503D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock" xlink:label="loc_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_CD62743EC4469B884F251A282F5F6B24" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract_16C2D89E09A94ECB4ADB1A282F5F503D" xlink:to="loc_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock_CD62743EC4469B884F251A282F5F6B24" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/DocumentAndEntityInformation" xlink:type="extended">
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DocumentDocumentandEntityInformationAbstract" xlink:label="loc_cgnx_DocumentDocumentandEntityInformationAbstract_91BC62BDCC55D005DAE51A2830193367" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentInformationTable" xlink:label="loc_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_DocumentDocumentandEntityInformationAbstract_91BC62BDCC55D005DAE51A2830193367" xlink:to="loc_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_LegalEntityAxis" xlink:label="loc_dei_LegalEntityAxis_E160CF44897157F6361C1A283019AE5F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:to="loc_dei_LegalEntityAxis_E160CF44897157F6361C1A283019AE5F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityDomain" xlink:label="loc_dei_EntityDomain_7D25BD1B3F63B2F969171A2830199743" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_LegalEntityAxis_E160CF44897157F6361C1A283019AE5F" xlink:to="loc_dei_EntityDomain_7D25BD1B3F63B2F969171A2830199743" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityInformationLineItems" xlink:label="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_DocumentInformationTable_70D6A5E6BFA30F071E7B1A2830191ADE" xlink:to="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_0362FF4E06E80783BCB11A2830197270" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_DocumentType_0362FF4E06E80783BCB11A2830197270" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_AmendmentFlag_1AA79AE7E6E98B866D251A28301980C0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_DocumentPeriodEndDate_CF79CA5D99C54DF71DBD1A283019746C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_DocumentFiscalYearFocus_4036A9F06B544857AD0F1A2830190542" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_DocumentFiscalPeriodFocus_C73EB44C3DAB38705CF51A2830193277" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_TradingSymbol" xlink:label="loc_dei_TradingSymbol_2FB165532C11708201011A2830199A03" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_TradingSymbol_2FB165532C11708201011A2830199A03" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityRegistrantName_4340663B47025B84B79F1A283019D82D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityCentralIndexKey_B55773AAA1F83B0CC8A21A283019B481" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_CurrentFiscalYearEndDate_A841E22C50520D9439B51A2830191FDF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityWellKnownSeasonedIssuer_04C54038E98EEAED216A1A283019A971" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityCurrentReportingStatus_54C8FA3A5E84FBE5787A1A28301AE2A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityVoluntaryFilers_BF0249B206D3CB5D3E3A1A28301AB6B1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityFilerCategory_CE2B6B6ECB61FFD8B3271A28301A4997" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_87CC402BDD71C4CF4DB21A28301AB18C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityPublicFloat" xlink:label="loc_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_EntityInformationLineItems_C6FE390991A43C504D141A283019E014" xlink:to="loc_dei_EntityPublicFloat_DCD0D042EE31272F73DF1A28301A6271" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/EmployeeSavingsPlan" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_86B1B312175206BBFEB91A2830C4B40C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_97A31DB6AF70CF8284341A2830C444C3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_86B1B312175206BBFEB91A2830C4B40C" xlink:to="loc_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_97A31DB6AF70CF8284341A2830C444C3" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/EmployeeSavingsPlanAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_ECAD740CD386BC4E75771A28305A0486" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="loc_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_ECAD740CD386BC4E75771A28305A0486" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan" xlink:label="loc_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="loc_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan_D75F48520171DADC49471A28305A12C1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent" xlink:label="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_8313D167EF4BAEA3A7461A28305A1BB1" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="loc_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent_8313D167EF4BAEA3A7461A28305A1BB1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="loc_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_A5A64FCB6C62AD5FEF3F1A28305AF10D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="loc_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_A5A64FCB6C62AD5FEF3F1A28305AF10D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfTwoYear" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="loc_cgnx_CompanyContributionsVestAtEndOfTwoYear_439B52C8FE670A83D5301A28305AC87B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfThreeYears" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="loc_cgnx_CompanyContributionsVestAtEndOfThreeYears_C37AD249098FB7D7E9391A28305A1ED5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfFourYears" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="loc_cgnx_CompanyContributionsVestAtEndOfFourYears_1E0A577AE31F0F879EDA1A28305AA85A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompanyContributionsVestAtEndOfFiveYears" xlink:label="loc_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="loc_cgnx_CompanyContributionsVestAtEndOfFiveYears_94E2352E458D0C18BFD91A28305A5F76" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="loc_us-gaap_DefinedContributionPlanCostRecognized_A3F37DB5BA657A11C36C1A28305A34B9" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CompensationAndRetirementDisclosureAbstract_46715C40FA6DA05F19151A28305A8D60" xlink:to="loc_us-gaap_DefinedContributionPlanCostRecognized_A3F37DB5BA657A11C36C1A28305A34B9" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/FairValueMeasurements" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_1F77DAAB638D7CECEBB91A2830CF7721" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_E549B8381B571E1A4AD31A2830D0AD5C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_1F77DAAB638D7CECEBB91A2830CF7721" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_E549B8381B571E1A4AD31A2830D0AD5C" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract_71B49BFD364DF5A2A8EA1A9C338A2EF1" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisAbstract_71B49BFD364DF5A2A8EA1A9C338A2EF1" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B0827094D64E724CE3141A9C338B790C" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_1C89F99780D0A5FD49471A9C338B1D90" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_68933567D9BCA07A14AD1A9C338B2BC1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5D021F47F69A5EFA3C621A9C338B4B3E" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_07C697DBB366DE25CE981A9C338B67BF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_6DC9E66DFA5CAD6B571A1A9C338B8195" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_A30E8E9922757F7D436C1A9C338B92C4" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_EDB20E41F814956801811A9C338B090F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_51E8077402C060E095F81A9C338BC116" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MoneyMarketInstrumentsFairValueDisclosure" xlink:label="loc_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_MoneyMarketInstrumentsFairValueDisclosure_ED0CBE361916BDD54CD61A9C338BB5F4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CorporateBondsFairValueDisclosure" xlink:label="loc_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_CorporateBondsFairValueDisclosure_7EDCF864B8D37BE5F9331A9C338C67C9" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_TreasuryBillsFairValueDisclosure" xlink:label="loc_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_TreasuryBillsFairValueDisclosure_B7B649E4FFDA024B6E531A9C338CFD2A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AssetBackedSecuritiesFairValueDisclosure" xlink:label="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_AssetBackedSecuritiesFairValueDisclosure_C75241D796CD7FD070CC1A9C338C1780" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Euroliquidityfunds" xlink:label="loc_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_Euroliquidityfunds_31A2BF648A1EAD2C8B031A9C338C9337" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SovereignBondsFairValueDisclosure" xlink:label="loc_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_SovereignBondsFairValueDisclosure_5EB08118C64AED15AF061A9C338C0D54" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AgencyBondsFairValueDisclosure" xlink:label="loc_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_AgencyBondsFairValueDisclosure_CD1F442D21806D4D8D5F1A9C338C6231" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MunicipalBondsFairValueDisclosure" xlink:label="loc_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_cgnx_MunicipalBondsFairValueDisclosure_41318215FB8AEC1469FD1A9C338C0EB1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue" xlink:label="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue_1F0E1655A733245AC6611A9C338C554A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_C42CB8B39EA45DC339261A9C338B5896" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_FB9F7A9CBDBA3FC2D0C91A9C338C0414" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_740C3196A274C04C421F1A9C338CF72A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_8A225A7AE2560D083A771A9C338CC743" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_C46A2B133FE37DE71D4B1A9C338C50A8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet" xlink:label="loc_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="loc_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet_DF2DE47EBAC48B232FB61A9C338E502E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent" xlink:label="loc_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_03BBA2EDC62AF06301551A9C338BC765" xlink:to="loc_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent_3FDC618D9A94E4391AB61A9C338EEDF7" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_56FCDF04217ABBEC55EC1B98AFEF0D2F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_56FCDF04217ABBEC55EC1B98AFEF0D2F" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_8B3571A9334A705BC2391B98AFEF5AEB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_8B3571A9334A705BC2391B98AFEF5AEB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_8B3571A9334A705BC2391B98AFEF5AEB" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_B8C3A09D88329116A6BC1B98AFEF55E8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:to="loc_cgnx_ManateeWorksInc.Member_B8C3A09D88329116A6BC1B98AFEF55E8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EnShapeGmbHMember" xlink:label="loc_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:to="loc_cgnx_EnShapeGmbHMember_AF6168CCAF302CC91CFA1B98AFF0924C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_FB1C33F8D8ED78D047B81B98AFEF1DB0" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_8B630CEB6552A027D0731B98AFF047FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_71612D0EFDE9F0F180B31B98AFEFD072" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_E0B44261AE5DEE7561931B98AFF0221B" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_FE201229AAFB8AD3EDC81B98AFF0475D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases_53EBC74ABAF642C2C4E91B98AFF0377B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="loc_us-gaap_LiabilitiesFairValueAdjustment_1270539691DDA66867D61B98AFF0668C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements_4CDB7DB80D1CA0D272511B98AFF07F7D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_46A2516483743DA38B191B98AFF0E305" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward_B92A9C3949E23B4C6AE51B98AFF04505" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_46A2516483743DA38B191B98AFF0E305" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/FairValueMeasurementsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_724BFF2477DEA3BD5BC81A9EE5C7B1C2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_5AAEAD25CB6B95BBC6FE1A9EE7729263" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_724BFF2477DEA3BD5BC81A9EE5C7B1C2" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_5AAEAD25CB6B95BBC6FE1A9EE7729263" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_623F1983B347F55A38A01A9EE772E291" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_5AAEAD25CB6B95BBC6FE1A9EE7729263" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_623F1983B347F55A38A01A9EE772E291" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_8F0145C25307B6C160BC1A9EE773A17A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_623F1983B347F55A38A01A9EE772E291" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_8F0145C25307B6C160BC1A9EE773A17A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueMeasurementsNonrecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_8F0145C25307B6C160BC1A9EE773A17A" xlink:to="loc_us-gaap_FairValueMeasurementsNonrecurringMember_11DF7BFB8FD7A02794721A9F7ECD2E46" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_94CB3B218343997FDA4A1A9EE77359EA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_5AAEAD25CB6B95BBC6FE1A9EE7729263" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_94CB3B218343997FDA4A1A9EE77359EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure" xlink:label="loc_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_94CB3B218343997FDA4A1A9EE77359EA" xlink:to="loc_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure_693EBA0F0BC7CF77D88B1A9F2D7D48D6" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/FairValueMeasurementsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_F9707E31B7988BABECED1A282F454011" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_5D4E7DB4EF2529672AA31A282F45964F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_F9707E31B7988BABECED1A282F454011" xlink:to="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_5D4E7DB4EF2529672AA31A282F45964F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_73670A32EF4556E59AEB1A282F46F2D6" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_F9707E31B7988BABECED1A282F454011" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_73670A32EF4556E59AEB1A282F46F2D6" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/Goodwill" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_D26981C70CBDDD82391C1A2830BE92AF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillDisclosureTextBlock" xlink:label="loc_us-gaap_GoodwillDisclosureTextBlock_296609281D995F9234DD1A2830BE5C0E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_D26981C70CBDDD82391C1A2830BE92AF" xlink:to="loc_us-gaap_GoodwillDisclosureTextBlock_296609281D995F9234DD1A2830BE5C0E" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/GoodwillAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_FD052F021F3C541D8DA91E4C49F824F7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_127DD62D5D9822FA65261E4C49F95EAE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_FD052F021F3C541D8DA91E4C49F824F7" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_127DD62D5D9822FA65261E4C49F95EAE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_127DD62D5D9822FA65261E4C49F95EAE" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_D932B5EFA3A404A869D21E4C49F9B29B" xlink:to="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_2E91CED6C2AF76DEE3B31E4C49F92566" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:to="loc_cgnx_SisdMember_2E91CED6C2AF76DEE3B31E4C49F92566" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MvsdMember" xlink:label="loc_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_47B4C8661223E4FFF1001E4C49F9C1F2" xlink:to="loc_cgnx_MvsdMember_51051A47F63BFABE0F261E4C49F99999" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems_0E316666CA1BA0854F2F1E4C49F9239B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_127DD62D5D9822FA65261E4C49F95EAE" xlink:to="loc_us-gaap_GoodwillLineItems_0E316666CA1BA0854F2F1E4C49F9239B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_0C8FB59B582F00BAA1081E4C49F9443B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_0E316666CA1BA0854F2F1E4C49F9239B" xlink:to="loc_us-gaap_Goodwill_0C8FB59B582F00BAA1081E4C49F9443B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_FairValueInExcessToCarryingValue" xlink:label="loc_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_0E316666CA1BA0854F2F1E4C49F9239B" xlink:to="loc_cgnx_FairValueInExcessToCarryingValue_9392D60E3C81684FE0231E4C49F963B4" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/GoodwillChangesInCarryingValueOfGoodwillDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_EB7EAEF3C4737D04800C1E4C4A0144C3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="loc_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_EB7EAEF3C4737D04800C1E4C4A0144C3" xlink:to="loc_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_F28CCF6B815D9E96495B1E5FB6E5DD69" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_F28CCF6B815D9E96495B1E5FB6E5DD69" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_F28CCF6B815D9E96495B1E5FB6E5DD69" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_FB34183C2C41835598E21E60177ED3C0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_ManateeWorksInc.Member_FB34183C2C41835598E21E60177ED3C0" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AQSenseS.L.Member" xlink:label="loc_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_AQSenseS.L.Member_415D2C56B5AB5F07DE5F1E603B097028" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EnShapeGmbHMember" xlink:label="loc_cgnx_EnShapeGmbHMember_08929C58A57731C712751E60595BC987" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_EnShapeGmbHMember_08929C58A57731C712751E60595BC987" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_43D706C5E47E08BE7D431E6079D2D44F" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_43D706C5E47E08BE7D431E6079D2D44F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_WebscanInc.Member" xlink:label="loc_cgnx_WebscanInc.Member_C33A01B53472A0E2D71E1E609CB6E2FF" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_E3D53B3CC95DF2EFA09F1E5FB6EB8DD8" xlink:to="loc_cgnx_WebscanInc.Member_C33A01B53472A0E2D71E1E609CB6E2FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillLineItems" xlink:label="loc_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfGoodwillTable_4E29210DCB4EB22283381E5F8DD3ADE0" xlink:to="loc_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillRollForward" xlink:label="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillLineItems_2970504EF61A949BECEC1E5F8DD548F8" xlink:to="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_2A227F0618D306A8A1551E4C4A015F9E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:to="loc_us-gaap_Goodwill_2A227F0618D306A8A1551E4C4A015F9E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAcquiredDuringPeriod" xlink:label="loc_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:to="loc_us-gaap_GoodwillAcquiredDuringPeriod_95DF44F626346DAC44B91E4C4A02E1F9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_54614D87F76AE4580EF51E4C4A02C8C7" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillRollForward_E2371BA4B367E6E2EB791E4C4A0114B3" xlink:to="loc_us-gaap_Goodwill_54614D87F76AE4580EF51E4C4A02C8C7" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/GoodwillTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_B0AE416B6C6E39D120771A283030169E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="loc_us-gaap_ScheduleOfGoodwillTextBlock_191B1BC5237E583765B41A283030C046" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_B0AE416B6C6E39D120771A283030169E" xlink:to="loc_us-gaap_ScheduleOfGoodwillTextBlock_191B1BC5237E583765B41A283030C046" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/IndemnificationProvisions" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GuaranteesAbstract" xlink:label="loc_us-gaap_GuaranteesAbstract_3AB4598AA74075717C771A28310BAF74" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_IndemnificationProvisionsTextBlock" xlink:label="loc_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GuaranteesAbstract_3AB4598AA74075717C771A28310BAF74" xlink:to="loc_cgnx_IndemnificationProvisionsTextBlock_20299FE4FD4B815F27D71A28310BE955" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/IndemnificationProvisionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_3D98CAAB7805EC428C2B1E8FE5ED235E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesTable" xlink:label="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_3D98CAAB7805EC428C2B1E8FE5ED235E" xlink:to="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_0C404EDB7D7EBDA1B3B61E8FE94705FF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_0C404EDB7D7EBDA1B3B61E8FE94705FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_ECBF8AD6981E53030F221E8FE9479F9F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_0C404EDB7D7EBDA1B3B61E8FE94705FF" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_ECBF8AD6981E53030F221E8FE9479F9F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_97E2ED2586BA8736F48D1E8FE9D0E8CA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_ECBF8AD6981E53030F221E8FE9479F9F" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_97E2ED2586BA8736F48D1E8FE9D0E8CA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_724EB769619ABAEDFBAB1E8FE8ED1711" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_724EB769619ABAEDFBAB1E8FE8ED1711" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_939534F2FBD9AF05F3451E8FE8F22FFC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_724EB769619ABAEDFBAB1E8FE8ED1711" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_939534F2FBD9AF05F3451E8FE8F22FFC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_902B976639B2D56622A11E8FE99F066E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_939534F2FBD9AF05F3451E8FE8F22FFC" xlink:to="loc_cgnx_SisdMember_902B976639B2D56622A11E8FE99F066E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseAxis" xlink:label="loc_us-gaap_LitigationCaseAxis_EF4CB02852DB5B1B7F911E8FE84B4338" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_LitigationCaseAxis_EF4CB02852DB5B1B7F911E8FE84B4338" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationCaseTypeDomain" xlink:label="loc_us-gaap_LitigationCaseTypeDomain_F208C834C101DBEDD4E91E8FE84CF4A2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LitigationCaseAxis_EF4CB02852DB5B1B7F911E8FE84B4338" xlink:to="loc_us-gaap_LitigationCaseTypeDomain_F208C834C101DBEDD4E91E8FE84CF4A2" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AMETEKMatterMember" xlink:label="loc_cgnx_AMETEKMatterMember_67F93A6EDD394C4640461E8FEA31C341" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LitigationCaseTypeDomain_F208C834C101DBEDD4E91E8FE84CF4A2" xlink:to="loc_cgnx_AMETEKMatterMember_67F93A6EDD394C4640461E8FEA31C341" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusAxis" xlink:label="loc_us-gaap_LitigationStatusAxis_2125D71670504016AE611E8FE84C790A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_LitigationStatusAxis_2125D71670504016AE611E8FE84C790A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationStatusDomain" xlink:label="loc_us-gaap_LitigationStatusDomain_582989828A41E638ECB01E8FE84C0358" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LitigationStatusAxis_2125D71670504016AE611E8FE84C790A" xlink:to="loc_us-gaap_LitigationStatusDomain_582989828A41E638ECB01E8FE84C0358" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SettledLitigationMember" xlink:label="loc_us-gaap_SettledLitigationMember_0D49ACF002C16E24465B1E8FEA646AFD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LitigationStatusDomain_582989828A41E638ECB01E8FE84C0358" xlink:to="loc_us-gaap_SettledLitigationMember_0D49ACF002C16E24465B1E8FEA646AFD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesByNatureOfContingencyAxis" xlink:label="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_B35652130FC41A2FA19C1E8FE84CEB64" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_B35652130FC41A2FA19C1E8FE84CEB64" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingencyNatureDomain" xlink:label="loc_us-gaap_LossContingencyNatureDomain_2085261FBA2E0528CE0D1E8FE84CB387" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesByNatureOfContingencyAxis_B35652130FC41A2FA19C1E8FE84CEB64" xlink:to="loc_us-gaap_LossContingencyNatureDomain_2085261FBA2E0528CE0D1E8FE84CB387" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GuaranteeObligationsMember" xlink:label="loc_us-gaap_GuaranteeObligationsMember_72E08814816762F7FB241E8FE9FCF101" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingencyNatureDomain_2085261FBA2E0528CE0D1E8FE84CB387" xlink:to="loc_us-gaap_GuaranteeObligationsMember_72E08814816762F7FB241E8FE9FCF101" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LossContingenciesLineItems" xlink:label="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesTable_484115AEA2CEB6D14C191E8FE843758A" xlink:to="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_C1D79C8383962D3EE7D41E8FE87DFA36" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:to="loc_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue_C1D79C8383962D3EE7D41E8FE87DFA36" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue" xlink:label="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_9679DB6391B541AA86E41E8FE89F4B25" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:to="loc_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue_9679DB6391B541AA86E41E8FE89F4B25" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LitigationSettlementAmount" xlink:label="loc_us-gaap_LitigationSettlementAmount_B153F38E359B60042CDF1E8FE8CDE699" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LossContingenciesLineItems_146EBCBDAF65168138F11E8FE84D842B" xlink:to="loc_us-gaap_LitigationSettlementAmount_B153F38E359B60042CDF1E8FE8CDE699" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/IntangibleAssets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_FC6642C71D56775E78021A283045A85F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_DB515F17566F50437A5F1A283045874E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_FC6642C71D56775E78021A283045A85F" xlink:to="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_DB515F17566F50437A5F1A283045874E" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/IntangibleAssetsAmortizedIntangibleAssetsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0209142A47C064AD3A3B1A282FFCDD40" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_0209142A47C064AD3A3B1A282FFCDD40" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_894160EEA217740DDE211A282FFD1E4E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_894160EEA217740DDE211A282FFD1E4E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_894160EEA217740DDE211A282FFD1E4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:to="loc_us-gaap_DistributionRightsMember_AF5FF6143E24299E47601A282FFDCACB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_9CADC4B99FD9ECA82DED1A282FFDF877" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_C60BC5506CC3169D52851A282FFD3B5A" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_9DCAE079A4910DA840F51A282FFD32AF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_A9AC8CA1763C7C290E4B1A282FFD6335" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_171162015F307F7EB77A1A282FFD694C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4931FA0A7429068C35BD1A282FFD7056" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_C268F879648DB3A4A0BF1A282FFDE354" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_5C94769A57C217FBA1AC1A282FFEB959" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_F302B461A2D554AA0EF51A2830F1CA12" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_527FF9EA6420815DCEE71A2830F24F7D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_F302B461A2D554AA0EF51A2830F1CA12" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_527FF9EA6420815DCEE71A2830F24F7D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36109BD4595414D4E6351A2830F2A06C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_F302B461A2D554AA0EF51A2830F1CA12" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_36109BD4595414D4E6351A2830F2A06C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_168A63328B159178BDA41A2830F25BD1" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_F302B461A2D554AA0EF51A2830F1CA12" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_168A63328B159178BDA41A2830F25BD1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_BF85E36C7454174747471A2830F2492E" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_F302B461A2D554AA0EF51A2830F1CA12" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_BF85E36C7454174747471A2830F2492E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_33B39868E070E43AB2A11A2830F2091C" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_F302B461A2D554AA0EF51A2830F1CA12" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_33B39868E070E43AB2A11A2830F2091C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_D8E08B9DD5CA07F5A1491A2830F26442" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_F302B461A2D554AA0EF51A2830F1CA12" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_D8E08B9DD5CA07F5A1491A2830F26442" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_F1221B48247FF1E597A01A2830F21380" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_F302B461A2D554AA0EF51A2830F1CA12" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_F1221B48247FF1E597A01A2830F21380" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/IntangibleAssetsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794C61F3E9F9F0C1F7B71A2830BC75F6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_B712A84666B8DA789AB91A2830BD722A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794C61F3E9F9F0C1F7B71A2830BC75F6" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_B712A84666B8DA789AB91A2830BD722A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_7A83F92BAF02F32A301C1A2830BDD5A6" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_794C61F3E9F9F0C1F7B71A2830BC75F6" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_7A83F92BAF02F32A301C1A2830BDD5A6" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/Inventories" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_8EF04120944303B7094F1A2830C5496A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_9AF6B2DBA93FE391D7181A2830C5A5AF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_8EF04120944303B7094F1A2830C5496A" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_9AF6B2DBA93FE391D7181A2830C5A5AF" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/InventoriesInventoriesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_0C366D7093BAF51A9E731A282EF2158A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_A426CEF507125F8E87E01A282EF253C8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_0C366D7093BAF51A9E731A282EF2158A" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_A426CEF507125F8E87E01A282EF253C8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_0C4EACD463B7A4036FD41A282EF27E9D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_0C366D7093BAF51A9E731A282EF2158A" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_0C4EACD463B7A4036FD41A282EF27E9D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_74D2054CB7A2020A8DE31A282EF2A795" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_0C366D7093BAF51A9E731A282EF2158A" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_74D2054CB7A2020A8DE31A282EF2A795" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_0B3804AB6A176480C2F11A282EF2FB63" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_0C366D7093BAF51A9E731A282EF2158A" xlink:to="loc_us-gaap_InventoryNet_0B3804AB6A176480C2F11A282EF2FB63" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/InventoriesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_C22339E9C102B109D6AA1A282F9C4328" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_C3019D68DAFA3D14B7211A282F9C9DED" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_C22339E9C102B109D6AA1A282F9C4328" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_C3019D68DAFA3D14B7211A282F9C9DED" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/NewPronouncements" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingChangesAndErrorCorrectionsAbstract" xlink:label="loc_us-gaap_AccountingChangesAndErrorCorrectionsAbstract_948B5A8EE23A9B660A8F1A2830FC8104" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_328205C4CDAEDCF03F481A2830FC9CB3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingChangesAndErrorCorrectionsAbstract_948B5A8EE23A9B660A8F1A2830FC8104" xlink:to="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_328205C4CDAEDCF03F481A2830FC9CB3" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipment" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_6C66CF3DD2E181E26EFA1A282F367EF0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_14A63116798A985167DB1A282F373298" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_6C66CF3DD2E181E26EFA1A282F367EF0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_14A63116798A985167DB1A282F373298" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_306CF641AFECFDEA861E1A282FDAD246" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentDisposals" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentDisposals_4FFF1A3769BF2113245C1A282FDA5BAA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_306CF641AFECFDEA861E1A282FDAD246" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentDisposals_4FFF1A3769BF2113245C1A282FDA5BAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross_24C5736ACEC432A8B5041A282FDAD752" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_306CF641AFECFDEA861E1A282FDAD246" xlink:to="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross_24C5736ACEC432A8B5041A282FDAD752" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation" xlink:label="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation_E848F7AC76C94335AED31A282FDAF6C6" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_306CF641AFECFDEA861E1A282FDAD246" xlink:to="loc_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation_E848F7AC76C94335AED31A282FDAF6C6" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_3B98352BEBC7C3A6FA2A1A28302DC2CA" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_79EEA61088EE4CC5E6AF1A28302DFEC0" xlink:type="locator" />
    <link:presentationArc order="1" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_3B98352BEBC7C3A6FA2A1A28302DC2CA" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_79EEA61088EE4CC5E6AF1A28302DFEC0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_4C156DC37BB293A04A051A28302EC96E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_79EEA61088EE4CC5E6AF1A28302DFEC0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_4C156DC37BB293A04A051A28302EC96E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_4C156DC37BB293A04A051A28302EC96E" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LandMember" xlink:label="loc_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_LandMember_D49EA11370EB68463D471A28302E6052" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaap_BuildingMember_C0C5502DEB7AC349ECFC1A28302E16E6" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_BuildingMember_C0C5502DEB7AC349ECFC1A28302E16E6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingImprovementsMember" xlink:label="loc_us-gaap_BuildingImprovementsMember_9C60FBF568C06F8B52491A28302EBB42" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_BuildingImprovementsMember_9C60FBF568C06F8B52491A28302EBB42" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_LeaseholdImprovementsMember_819D3912C2E8368BDB7E1A28302E74DA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_HardwareAndSoftwareMember" xlink:label="loc_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_cgnx_HardwareAndSoftwareMember_9682D46E455BD47272DA1A28302E2580" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaap_EquipmentMember_46A1DFCA1250FA7E7C2D1A28302E4857" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_EquipmentMember_46A1DFCA1250FA7E7C2D1A28302E4857" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_AC5F40413B638AE81D931A28302E1C19" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_CDA0D561E883FEBA90CB1A28302E2AFB" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_AC5F40413B638AE81D931A28302E1C19" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_79EEA61088EE4CC5E6AF1A28302DFEC0" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentGross_A38539F0562CE3F863921A28302E598B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:to="loc_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_351F5FAF04393F01EA381A28302E0438" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_346099C53900E63065371A28302E15F5" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_B85D174BFB79E628E1781A28302EA82E" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_346099C53900E63065371A28302E15F5" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/PropertyPlantAndEquipmentTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentAbstract_759D64CEDB1E2DE41BA21A2831097AA5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_B9749587511587D542AF1A283109C58D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentAbstract_759D64CEDB1E2DE41BA21A2831097AA5" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTextBlock_B9749587511587D542AF1A283109C58D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccounts" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAndQualifyingAccountsAbstract" xlink:label="loc_us-gaap_ValuationAndQualifyingAccountsAbstract_56B38CC0252F18E57EFD1A282EFAF3E2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock" xlink:label="loc_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_394DBA35CF33607CE49C1A282EFB8FAF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsAbstract_56B38CC0252F18E57EFD1A282EFAF3E2" xlink:to="loc_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock_394DBA35CF33607CE49C1A282EFB8FAF" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ScheduleIiValuationAndQualifyingAccountsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAndQualifyingAccountsAbstract" xlink:label="loc_us-gaap_ValuationAndQualifyingAccountsAbstract_648DD135E9207C059E651A282FA0A2A2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsAbstract_648DD135E9207C059E651A282FA0A2A2" xlink:to="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesTypeAxis_1B8CA4E8367594B084FF1A282FA06BDD" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UncollectibleReceivablesMember" xlink:label="loc_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:to="loc_us-gaap_UncollectibleReceivablesMember_F062380D57304250DF8B1A282FA1A8E4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryValuationReserveMember" xlink:label="loc_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:to="loc_us-gaap_InventoryValuationReserveMember_D1C11C3D37ADE5A5A9231A282FA17D22" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_F047A62947F1196C534C1A282FA1D6FC" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowancesAndReservesDomain_4625ED06D4BB2AC743251A282FA11BE0" xlink:to="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_F047A62947F1196C534C1A282FA1D6FC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureTable_7B8CEB7F0DF873C896B91A282FA0777D" xlink:to="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAndQualifyingAccountsDisclosureLineItems_D059EC36BA42E83F52E61A282FA1D271" xlink:to="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_52BA6DF3F198DC573D6C1A282FA126EC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense_63E8688232E3167C5BAD1A282FA146A5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesDeductions_9087A6BC52933F23086D1A282FA11A5E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesAdjustments" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesAdjustments_77CED953BE1E7E0ADA291A282FA1A2A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowancesAndReservesBalance" xlink:label="loc_us-gaap_ValuationAllowancesAndReservesBalance_A1BD02FA82300D811BCE1A282FA18583" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInValuationAllowancesAndReservesRollForward_7D4D8777C613192DE2931A282FA1E059" xlink:to="loc_us-gaap_ValuationAllowancesAndReservesBalance_A1BD02FA82300D811BCE1A282FA18583" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformation" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_D8F923F60C4B47F9F6BF1A28310C6DB5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_BD37A8502A8186243D411A28310C7C6F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_D8F923F60C4B47F9F6BF1A28310C6DB5" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_BD37A8502A8186243D411A28310C7C6F" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformationAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_4EB0227300CF704710863F08E4577B76" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskTable" xlink:label="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_4EB0227300CF704710863F08E4577B76" xlink:to="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_B0C32F5F9C4DBAE4748F3F08E457FF1C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_B0C32F5F9C4DBAE4748F3F08E457FF1C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaap_SegmentDomain_AA0D4B3AAEAEC072A4513F08E45741D7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_B0C32F5F9C4DBAE4748F3F08E457FF1C" xlink:to="loc_us-gaap_SegmentDomain_AA0D4B3AAEAEC072A4513F08E45741D7" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_PreviousCompanySegmentsMember" xlink:label="loc_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_AA0D4B3AAEAEC072A4513F08E45741D7" xlink:to="loc_cgnx_PreviousCompanySegmentsMember_303A33C457F6D59E76AF3F08E457C077" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_4096FFB94944CC1C227F3F08E457C257" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="loc_us-gaap_StatementGeographicalAxis_4096FFB94944CC1C227F3F08E457C257" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_A10C0D3C05D0EC62EA483F08E458C706" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementGeographicalAxis_4096FFB94944CC1C227F3F08E457C257" xlink:to="loc_us-gaap_SegmentGeographicalDomain_A10C0D3C05D0EC62EA483F08E458C706" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EuropeMember" xlink:label="loc_us-gaap_EuropeMember_44A29E39F0E686E002513F08E458555C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_A10C0D3C05D0EC62EA483F08E458C706" xlink:to="loc_us-gaap_EuropeMember_44A29E39F0E686E002513F08E458555C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByBenchmarkAxis_2C3BE2DBF9589CAA60B73F08E4589CCB" xlink:to="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskBenchmarkDomain_32547F92D6EF4F6F7D9E3F08E4589341" xlink:to="loc_us-gaap_SalesRevenueNetMember_A51A1E74C5DDE859A1CC3F08E4580D1A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="loc_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskByTypeAxis_F5012D013208D45617633F08E45D234F" xlink:to="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="loc_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTypeDomain_FC60770165C301C131203F08E45D694E" xlink:to="loc_us-gaap_CustomerConcentrationRiskMember_436D952C1E832A6E80893F08E45D87AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskTable_A6F5FDD53D6B620953453F08E4570076" xlink:to="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NumberOfReportableSegments" xlink:label="loc_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:to="loc_us-gaap_NumberOfReportableSegments_424A027FBA9C25E5B8E13F08E45DED70" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ConcentrationRiskLineItems_DCFBD1B24FD799F2CBEA3F08E45DEBE2" xlink:to="loc_us-gaap_ConcentrationRiskPercentage1_387099EEF73BBBA694263F08E45EBD34" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_B9E50C3720B816F4963E1A2830D3504C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_B9E50C3720B816F4963E1A2830D3504C" xlink:to="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:to="loc_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementGeographicalAxis_DB2D7107486693CAE2CB1A2830D3EAEE" xlink:to="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/country/2016/country-2016-01-31.xsd#country_US" xlink:label="loc_country_US_E9C4B935133ED06F7DBA1A2830D33733" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:to="loc_country_US_E9C4B935133ED06F7DBA1A2830D33733" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EuropeMember" xlink:label="loc_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:to="loc_us-gaap_EuropeMember_1E85F84BBECA0CEFE92F1A2830D4DEAB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_GreaterChinaMember" xlink:label="loc_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:to="loc_cgnx_GreaterChinaMember_F1D771E1608650378FA11A2830D47F54" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OtherGeographicAreaMember" xlink:label="loc_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_9F45D7B6D8FCE568DCE41A2830D34356" xlink:to="loc_cgnx_OtherGeographicAreaMember_9ADF6B892B2C714E05E41A2830D4B004" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_FA791E979BE6FD5C7E7A1A2830D34AD5" xlink:to="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SalesRevenueGoodsNet" xlink:label="loc_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:to="loc_us-gaap_SalesRevenueGoodsNet_6644B2FE7531A7DF156D1A2830D4F88C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NoncurrentAssets" xlink:label="loc_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_56EEBF76D675F6DCDCC81A2830D448A7" xlink:to="loc_us-gaap_NoncurrentAssets_2C6C4C53FE28E215C5831A2830D4B651" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SegmentAndGeographicInformationTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_F6AC11498CD349DCAF6D1A282F5E3F87" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_F5E3CDD1BACCA496241F1A282F5ECECC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_F6AC11498CD349DCAF6D1A282F5E3F87" xlink:to="loc_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_F5E3CDD1BACCA496241F1A282F5ECECC" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ShareholdersEquity" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_8A7DE1D7352FC9C2EE651A282EC9E8FA" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_32385CA877EA5A7A45961A282EC931DD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_8A7DE1D7352FC9C2EE651A282EC9E8FA" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_32385CA877EA5A7A45961A282EC931DD" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_3A5792B2E5151B7D8CC81E4C48F42B61" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_30D9EF5683FBEB2C7D231E4C48F459B1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_3A5792B2E5151B7D8CC81E4C48F42B61" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_30D9EF5683FBEB2C7D231E4C48F459B1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_D3E26CBAB3FF1ACD42F41E4C48F48DD4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_30D9EF5683FBEB2C7D231E4C48F459B1" xlink:to="loc_us-gaap_StatementClassOfStockAxis_D3E26CBAB3FF1ACD42F41E4C48F48DD4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_DAC0BE3CE26A8E99C2401E4C48F48FB9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_D3E26CBAB3FF1ACD42F41E4C48F48DD4" xlink:to="loc_us-gaap_ClassOfStockDomain_DAC0BE3CE26A8E99C2401E4C48F48FB9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_D6B24803079226325A5F1E4C48FA86FA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_DAC0BE3CE26A8E99C2401E4C48F48FB9" xlink:to="loc_us-gaap_CommonStockMember_D6B24803079226325A5F1E4C48FA86FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_30D9EF5683FBEB2C7D231E4C48F459B1" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_1F998673A40417E130EC1E4C48FAEAEA" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RepurchaseProgram2014Member" xlink:label="loc_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:to="loc_cgnx_RepurchaseProgram2014Member_E1DEB3D263D3632B8CD51E4C48FADFAD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RepurchaseProgramTwentyFifteenMember" xlink:label="loc_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:to="loc_cgnx_RepurchaseProgramTwentyFifteenMember_642C1282F1B8B1C9BDD71E4C48FA0C05" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_RepurchaseProgramNovember2015Member" xlink:label="loc_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_BD8D45A4A7BBC4A4B3721E4C48FAA462" xlink:to="loc_cgnx_RepurchaseProgramNovember2015Member_6090F5B7B3D87F4FBF111E4C48FAFE3A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockLineItems" xlink:label="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_30D9EF5683FBEB2C7D231E4C48F459B1" xlink:to="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_CB5543F8186DAAF68F1F1E4C48FA546B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_D57C7BBF3430195FAE371E4C48FA6CE3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_376A8F227484D9867FBB1E4C48FBEA19" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_VoteEntitledForEachCommonShareOutstanding" xlink:label="loc_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_VoteEntitledForEachCommonShareOutstanding_AA3181596AD554532DC01E4C48FB91D8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution" xlink:label="loc_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution_2BB6B92D8961BCE5CD581E4C48FB977C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson" xlink:label="loc_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson_7EF3E909FCC82CC6A7111E4C48FB38C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_4258F9161B52DC02AFB71E4C48FB72BB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Totalsharesrepurchased" xlink:label="loc_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_Totalsharesrepurchased_98D17072DDD7A52D1CF11E4C48FB0D24" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Repurchasedsharestotalcost" xlink:label="loc_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_cgnx_Repurchasedsharestotalcost_3CBA7C5E1C08A119144C1E4C48FB98FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_D6991A168A2AE5CBD4421E4C48FBAF8E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_95F29954372050C208601E4C48FBBBBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="loc_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_CommonStockDividendsPerShareDeclared_74B086779F3274AC5DBA1E4C48FBFB11" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockLineItems_9078FCA3625BEBC503BE1E4C48FA4C6B" xlink:to="loc_us-gaap_PaymentsOfDividends_C22F23541E573EC4856E1E4C48FB9F57" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/StockBasedCompensation" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_044555A0942BABBE1C391A282EFC040B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_9362903BE39CCC33D38B1A282EFCCBF5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_044555A0942BABBE1C391A282EFC040B" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_9362903BE39CCC33D38B1A282EFCCBF5" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_A4E9D1446BDD082477711E4C48CE8B54" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_D9A2E27EA036503CEE671E4C48CE197D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_A4E9D1446BDD082477711E4C48CE8B54" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_D9A2E27EA036503CEE671E4C48CE197D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_78F75F265CFB923EC3021E4C48CE7217" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_D9A2E27EA036503CEE671E4C48CE197D" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_78F75F265CFB923EC3021E4C48CE7217" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_590F5DAD89B82F4018481E4C48CECCBE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_78F75F265CFB923EC3021E4C48CE7217" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_590F5DAD89B82F4018481E4C48CECCBE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_D79CF67792B0D5641BA31E4C48CF6193" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_590F5DAD89B82F4018481E4C48CECCBE" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_D79CF67792B0D5641BA31E4C48CF6193" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_6D18DCD389F4D9AC54DD1E4C48CF0A67" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_D9A2E27EA036503CEE671E4C48CE197D" xlink:to="loc_us-gaap_AwardTypeAxis_6D18DCD389F4D9AC54DD1E4C48CF0A67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1AA53D000F456A09E7961E4C48CFDDD7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_6D18DCD389F4D9AC54DD1E4C48CF0A67" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1AA53D000F456A09E7961E4C48CFDDD7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_B249C9B0996A9557AEFF1E4C48CF788F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1AA53D000F456A09E7961E4C48CFDDD7" xlink:to="loc_us-gaap_EmployeeStockOptionMember_B249C9B0996A9557AEFF1E4C48CF788F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_D9A2E27EA036503CEE671E4C48CE197D" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_0566299A041D31CE04B91E4C48CFB174" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_C68E4EB59CAA9318724E1E4C48CFFDD4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F8A3F581A164B613C0031E4C48D06C70" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_5F75EE72F4D390FEE22E1E4C48D04E90" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest" xlink:label="loc_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest_5F1D2377F1E430514F951E4C48D00862" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest" xlink:label="loc_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest_63104056FD2D24B5D3FE1E4C48D0B772" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_BEC8F55560B4CD8FBAE61E4C48D0B9A8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_E27A467ABB57D0CAAFA91E4C48D0A60A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_8E30B8DED33D4CDEC9CD1E4C48D0F426" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_8E7C712268B73D4DA1EA1E4C48D06BCA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_412908AD1367F94DE33F1E4C48D01E2A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_9356B75FFD478F47D7731E4C48D144D7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions_001D1FD6A44301A7873F1E4C48D1EBBC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_5DB3A6C893618CD7CB551E4C48D1861B" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_5DB3A6C893618CD7CB551E4C48D1861B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_35169AEC219A3D29DF581E4C48D1F1DE" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_35169AEC219A3D29DF581E4C48D1F1DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_CB7024CA0D684B0680A71E4C48D11CCF" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_CB7024CA0D684B0680A71E4C48D11CCF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_498FCA28149DCA2E2F281E4C48D1EEDC" xlink:type="locator" />
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_498FCA28149DCA2E2F281E4C48D1EEDC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584" xlink:type="locator" />
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_68DB94A68F0DC8FE220E1E4C48CF9C75" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_E0A4AE7025742CC5A1D91E4C48D1B584" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_900A925B0BCAFA50D6741A2830E4B3D6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_E4B12A1D44B72DAC37CA1A2830E5C5CE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_900A925B0BCAFA50D6741A2830E4B3D6" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_E4B12A1D44B72DAC37CA1A2830E5C5CE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_900A925B0BCAFA50D6741A2830E4B3D6" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_5C78257574FDE6E99C761A2830E5EC50" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ProductCostOfRevenueMember" xlink:label="loc_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:to="loc_cgnx_ProductCostOfRevenueMember_9F12FD0373A480E0C07A1A2830E518EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_76BAA68F4CB33FF90E7F1A2830E5FED8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_76BAA68F4CB33FF90E7F1A2830E5FED8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_553B4224C1E468F657011A2830E55B3C" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_71F77D0504BC63A81C351A2830E54424" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_F05A6A7FCC85687C4FE11A2830E5BEDF" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_DB102973A30764501F281A2830E6AE8E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_DB102973A30764501F281A2830E6AE8E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Stockbasedcompensationdiscontinuedoperation" xlink:label="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_D8836CD6F6B1CBB0D1151A2830E694D1" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="loc_cgnx_Stockbasedcompensationdiscontinuedoperation_D8836CD6F6B1CBB0D1151A2830E694D1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_08FFAC545C3576D48A8E1A2830E6E759" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_7FE027182E3C5068094F1A2830E5EF8E" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_A07BD360B37EB78EA3561A2830E66274" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_405D951FA56C86AA691B1A282F53FC5F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_405D951FA56C86AA691B1A282F53FC5F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C56E73B70F5EB3FA8B21A282F53D4AD" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C56E73B70F5EB3FA8B21A282F53D4AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_31BB53417E7E643D447D1A282F53924C" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_31BB53417E7E643D447D1A282F53924C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_345860D9B11B5CB235241A282F53EAAE" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_345860D9B11B5CB235241A282F53EAAE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_168ADFE49093402C03D71A282F533D50" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_168ADFE49093402C03D71A282F533D50" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_25BB077FF9B58674A3681A282F531228" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_25BB077FF9B58674A3681A282F531228" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_4AD5E12DE193E9B09EB51A282F536D75" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_4AD5E12DE193E9B09EB51A282F536D75" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_7AD8E33693EB87ABDC321A282F539C5B" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_7AD8E33693EB87ABDC321A282F539C5B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_01DC99D2A40538C12EE11A282F539E25" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_01DC99D2A40538C12EE11A282F539E25" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3B154152907D239B4DA91A282F5375BC" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_3B154152907D239B4DA91A282F5375BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_FB853D00B9D72F91EB881A282F5338C5" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_FB853D00B9D72F91EB881A282F5338C5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_424ED50C87DF2366E1DA1A282F531B3A" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_424ED50C87DF2366E1DA1A282F531B3A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E9C96CA52E2D6B2310F01A282F532F1E" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_E9C96CA52E2D6B2310F01A282F532F1E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6A40D836686E996E3B951A282F53D0C6" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6A40D836686E996E3B951A282F53D0C6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_00B4226D1390E881BF851A282F537D88" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_00B4226D1390E881BF851A282F537D88" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_908C81E5CD51D1413A451A282F533DA0" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_908C81E5CD51D1413A451A282F533DA0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_49416DF4CDFD9E40560C1A282F53879C" xlink:type="locator" />
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_49416DF4CDFD9E40560C1A282F53879C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AFE6C53326E643757BA81A282F549889" xlink:type="locator" />
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_AFE6C53326E643757BA81A282F549889" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E" xlink:type="locator" />
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_0DC247DF1B5EC25DB8D01A282F54CA2E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_40095DD0F4674F1CFBD21A282F54CEE3" xlink:type="locator" />
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_665E566797DF61E746F31A282F52D2C9" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_40095DD0F4674F1CFBD21A282F54CEE3" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_4E6100B61497D32A08D61E4C48A1B49C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_4E6100B61497D32A08D61E4C48A1B49C" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:to="loc_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_2A2290B0313E214459071E4C48A13186" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_7D2B531B0AB966BF1E431E4C48A19A42" xlink:to="loc_us-gaap_EmployeeStockOptionMember_2CD5C673C9FA135867951E4C48A1725C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_A485EF6B63049FB108961E4C48A1F9F2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_79E25DFD8CA7D61ABFE71E4C48A75168" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4F0E4EB0E8BC425FC1421E4C48A7D17B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_CEED98DFD17EF1ECEF2E1E4C48A7CA79" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_847EE69B500C31FE757B1E4C48A6F68B" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_3075147B79867C009A131E4C48A7B36A" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails" xlink:type="extended">
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract" xlink:label="loc_cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract_55DD507A0180CBCB25ED1A2830DA8225" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_StockBasedCompensationExpenseSummaryofRestrictedStockOptionActivityDetailAbstract_55DD507A0180CBCB25ED1A2830DA8225" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_431CA33EDEEF23D1649E1A2830DB981C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:to="loc_us-gaap_AwardTypeAxis_431CA33EDEEF23D1649E1A2830DB981C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5CDCA863F0A720DDF2BD1A2830DB663A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_431CA33EDEEF23D1649E1A2830DB981C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5CDCA863F0A720DDF2BD1A2830DB663A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_5CDCA863F0A720DDF2BD1A2830DB663A" xlink:to="loc_us-gaap_RestrictedStockMember_7B21B8BA2FFB79FD47431A2830DBA262" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_A6480A60429E796B09C41A2830DA3E34" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_46E63EEC359CC2146BBF1A2830DBE7D5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_4FF6E928BD1F6A4A53691A2830DB5F60" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DB60BE4B38640BC0E2911A2830DBDC38" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_BA5A7064250CC4EC15161A2830DC6BCF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_D75613B69D5B75D103BE1A2830DCD3CC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_F89A6B81E1109168D6361A2830DC880A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_EE8A9DB0F71764DBAD8F1A2830DCC3E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5AC6759C3AD485375D3E1A2830DC507D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_F2C75E5B3EC515DB356E1A2830DB26DE" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_792F2701AF794F7A88FC1A2830DC0041" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/StockBasedCompensationTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_49BD7D8CB03C7155B4111A282F43E1AF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_F1949350879FBD5B34CB1A282F436A65" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_49BD7D8CB03C7155B4111A282F43E1AF" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_F1949350879FBD5B34CB1A282F436A65" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_43357972AA5758178E9C1A282F44F8D2" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_49BD7D8CB03C7155B4111A282F43E1AF" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_43357972AA5758178E9C1A282F44F8D2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_22E48BF0A4B94ECECAFF1A282F441A4B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_49BD7D8CB03C7155B4111A282F43E1AF" xlink:to="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_22E48BF0A4B94ECECAFF1A282F441A4B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_8FBDDE9AAF0615BD76371A282F446D05" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_49BD7D8CB03C7155B4111A282F43E1AF" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_8FBDDE9AAF0615BD76371A282F446D05" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SubsequentEventsSubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_9774C3996D3448B863AF1A283036D1D7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_9774C3996D3448B863AF1A283036D1D7" xlink:to="loc_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_DCF87DC88B9E8B7A954C1A2830365267" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_61521277137B8B018BF71A28303686B6" xlink:to="loc_us-gaap_SubsequentEventMember_97CF43B21272E20852111A283036743D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_1D5FF7AB895115B65BA51A283036202D" xlink:to="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsPayableAmountPerShare" xlink:label="loc_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:to="loc_us-gaap_DividendsPayableAmountPerShare_05CEA0C4D23DE705B7451A283036F8F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsPayableDateDeclaredDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:to="loc_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear_9FD766D3E3340919932E1A283036447F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_2E130E1098FFC1A2EE9C1A283036962A" xlink:to="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_16585B68C742BDC3170C1A2830363F9A" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SubsequentEventsSubsequentEventsNotes" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_DA27A4ADA5330C4BB3151A282ED4B787" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_F4D4300218D743E98D8B1A282ED4072C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_DA27A4ADA5330C4BB3151A282ED4B787" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_F4D4300218D743E98D8B1A282ED4072C" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_674949AE6F61E0BD9BFF1A282F6C0F71" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_10C49E8C6B301F6C55E91A282F6D0B26" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_674949AE6F61E0BD9BFF1A282F6C0F71" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_10C49E8C6B301F6C55E91A282F6D0B26" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_B75E98C74CD7AA9DD71F1A283054B8AA" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum" xlink:label="loc_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_B75E98C74CD7AA9DD71F1A283054B8AA" xlink:to="loc_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum_52D1EE3D751D8A8E8B331A283054D415" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MaximumInvestmentOfCompanyInPartnership" xlink:label="loc_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_B75E98C74CD7AA9DD71F1A283054B8AA" xlink:to="loc_cgnx_MaximumInvestmentOfCompanyInPartnership_81E00523CF38777EB12A1A2830556A88" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:type="locator" />
    <link:presentationArc order="3" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_B75E98C74CD7AA9DD71F1A283054B8AA" xlink:to="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentByTypeAxis_34A4E65BB64B3857390E1A283055D7EA" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingMember" xlink:label="loc_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_us-gaap_BuildingMember_939103D36E56FA04CFCF1A2830568321" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_BuildingImprovementsMember" xlink:label="loc_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_us-gaap_BuildingImprovementsMember_D8BCF184F139C8FD2F381A28305642E4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ComputerHardwareAndSoftwareMember" xlink:label="loc_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_cgnx_ComputerHardwareAndSoftwareMember_D28A1401B14FDA0C0CE81A283056163A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquipmentMember" xlink:label="loc_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_us-gaap_EquipmentMember_ABC48BCDC508CE9E063F1A28305656D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentTypeDomain_382098024C1F8A8AD7D31A2830556E46" xlink:to="loc_us-gaap_FurnitureAndFixturesMember_2C5FFF2FA31079DFF5331A283056496B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeAxis" xlink:label="loc_us-gaap_RangeAxis_34F995B9B9DB8FBFD2D11A283056DEED" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:to="loc_us-gaap_RangeAxis_34F995B9B9DB8FBFD2D11A283056DEED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeAxis_34F995B9B9DB8FBFD2D11A283056DEED" xlink:to="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MinimumMember" xlink:label="loc_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915" xlink:to="loc_us-gaap_MinimumMember_9000DD108B81EE92D9D21A28305676E6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumMember" xlink:label="loc_us-gaap_MaximumMember_8123ABE2000B55B2204B1A283056B434" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeMember_055DB711358D5DE629AE1A283056F915" xlink:to="loc_us-gaap_MaximumMember_8123ABE2000B55B2204B1A283056B434" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_6B69EF77E30736288CDA1A283055A09B" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentLineItems_9F597F826CDA40F3B9391A28305695AF" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentUsefulLife_2FFFF385B237B25DE6831A2830561878" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_454157933839F4BBF92B1A282F35D891" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdvertisingExpense" xlink:label="loc_us-gaap_AdvertisingExpense_16DC76BD5E22051E12821A282F35FD3D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_454157933839F4BBF92B1A282F35D891" xlink:to="loc_us-gaap_AdvertisingExpense_16DC76BD5E22051E12821A282F35FD3D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_53779B5840E6FDB5F6491A282FB258F0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_53779B5840E6FDB5F6491A282FB258F0" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_47A36792CCBC891DC2011A282FB25436" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_7F7F0EDA78140FB413FB1A282FB23920" xlink:to="loc_us-gaap_CashFlowHedgingMember_A846A16769A93CB62FD71A282FB25845" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_84E9FBBF940FDDAA088B1A282FB211ED" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:to="loc_us-gaap_HedgingDesignationAxis_84E9FBBF940FDDAA088B1A282FB211ED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_3D72E4A62B7746BB55BA1A282FB2982A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_84E9FBBF940FDDAA088B1A282FB211ED" xlink:to="loc_us-gaap_HedgingDesignationDomain_3D72E4A62B7746BB55BA1A282FB2982A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_F2183B07DB444E90200A1A282FB3B782" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_3D72E4A62B7746BB55BA1A282FB2982A" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_F2183B07DB444E90200A1A282FB3B782" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_05F5DB7535A6FE6A21B71A282FB3DE85" xlink:to="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_616029538AFB3F738C2D1A282FB31DD1" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_F0CFB41D6B34FAB26BCB1A282FB3EAF8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_0565EAD33A7C237EB7501A282FB22F67" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax_CFAF812007AADA9B8D031A282FB392B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax_4A5C59FF494DF54E1E8B1A282FB30F5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_EF6FB85D1FEB1D1D4B931A282FB33954" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax" xlink:label="loc_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax_B9C5DF7ACB68741050B01A282FB3E922" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_A7C269225E4D7B5F5C251A282FB312ED" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_C0430EF40BC3F28469011A282FB323D5" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_9999F41AB7DED4D756DD1A2830CDFB33" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_425248600F3EF05F056D1A2830CDEE4D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_9999F41AB7DED4D756DD1A2830CDFB33" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_425248600F3EF05F056D1A2830CDEE4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DFBB1E9675B912661BD61A2830CE9C1C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_425248600F3EF05F056D1A2830CDEE4D" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DFBB1E9675B912661BD61A2830CE9C1C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DFBB1E9675B912661BD61A2830CE9C1C" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_B86D0586E4A27667C5AE1A2830CE8667" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:to="loc_us-gaap_DistributionRightsMember_B86D0586E4A27667C5AE1A2830CE8667" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_F9FC066D7F6ACA3C67801A2830CEE235" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_F9FC066D7F6ACA3C67801A2830CEE235" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember" xlink:label="loc_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_AB80CC9D802F4CB71FDF1A2830CE67B7" xlink:to="loc_cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember_C4A5EDE07AD7F7CA5D9A1A2830CE5F44" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeAxis" xlink:label="loc_us-gaap_RangeAxis_35DB08587233EC95A0691A2830CEF3C1" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_425248600F3EF05F056D1A2830CDEE4D" xlink:to="loc_us-gaap_RangeAxis_35DB08587233EC95A0691A2830CEF3C1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeAxis_35DB08587233EC95A0691A2830CEF3C1" xlink:to="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MinimumMember" xlink:label="loc_us-gaap_MinimumMember_D8B2AEC3C57B676551441A2830CEFE7E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72" xlink:to="loc_us-gaap_MinimumMember_D8B2AEC3C57B676551441A2830CEFE7E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumMember" xlink:label="loc_us-gaap_MaximumMember_B52FFA4CAACA067FBEE71A2830CEB310" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeMember_3AB47AB2BB09DF7E0BAE1A2830CE3C72" xlink:to="loc_us-gaap_MaximumMember_B52FFA4CAACA067FBEE71A2830CEB310" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_9523C4A2C82A8032CE9D1A2830CEA685" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_425248600F3EF05F056D1A2830CDEE4D" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_9523C4A2C82A8032CE9D1A2830CEA685" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_9523C4A2C82A8032CE9D1A2830CEA685" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetUsefulLife_BD00ABD5920D3307212B1A2830CE36D3" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NatureOfOperationsPolicyTextBlock" xlink:label="loc_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_cgnx_NatureOfOperationsPolicyTextBlock_42A5788041C8878CFEA81A282EC13E9A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaap_UseOfEstimates_AA6264FD9F1116939C4C1A282EC13769" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_UseOfEstimates_AA6264FD9F1116939C4C1A282EC13769" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="loc_us-gaap_ConsolidationPolicyTextBlock_D76673A25A5B91F987B51A282EC1275F" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_ConsolidationPolicyTextBlock_D76673A25A5B91F987B51A282EC1275F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_02B2D2273691129EFB041A282EC1AD3A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_02B2D2273691129EFB041A282EC1AD3A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy_E54AE77B0A4372A40E6E1A282EC2EAA2" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_FairValueOfFinancialInstrumentsPolicy_E54AE77B0A4372A40E6E1A282EC2EAA2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_A14F35F2A88E3903C0BA1A282EC2757F" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_CashAndCashEquivalentsPolicyTextBlock_A14F35F2A88E3903C0BA1A282EC2757F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="loc_us-gaap_ReceivablesPolicyTextBlock_131E3FD52FB7C4815EEB1A282EC21D08" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_ReceivablesPolicyTextBlock_131E3FD52FB7C4815EEB1A282EC21D08" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaap_InventoryPolicyTextBlock_35789397EC007BF5B23E1A282EC26CF7" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_InventoryPolicyTextBlock_35789397EC007BF5B23E1A282EC26CF7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_DC3AE908B8ECA262B06C1A282EC2B9D6" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_DC3AE908B8ECA262B06C1A282EC2B9D6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="loc_us-gaap_IntangibleAssetsFiniteLivedPolicy_8BF3E150E4482F1FA6A61A282EC2D5EF" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_IntangibleAssetsFiniteLivedPolicy_8BF3E150E4482F1FA6A61A282EC2D5EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_38C2702645EDEF8318AA1A282EC2CBF7" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_38C2702645EDEF8318AA1A282EC2CBF7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="loc_us-gaap_StandardProductWarrantyPolicy_9808CDAAC7B1EE897AFF1A282EC2AF4F" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_StandardProductWarrantyPolicy_9808CDAAC7B1EE897AFF1A282EC2AF4F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="loc_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_705324FF563242980B691A282EC20C16" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_CommitmentsAndContingenciesPolicyTextBlock_705324FF563242980B691A282EC20C16" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_028C88AC10249ED1BAA21A282EC28623" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_RevenueRecognitionPolicyTextBlock_028C88AC10249ED1BAA21A282EC28623" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock" xlink:label="loc_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_935569A3EF94A3B9370C1A282EC27D3D" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock_935569A3EF94A3B9370C1A282EC27D3D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="loc_us-gaap_AdvertisingCostsPolicyTextBlock_2A8D19A70D91C3024C3E1A282EC2CD8D" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_AdvertisingCostsPolicyTextBlock_2A8D19A70D91C3024C3E1A282EC2CD8D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_118F56D52D591E46B76E1A282EC248B9" xlink:type="locator" />
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_118F56D52D591E46B76E1A282EC248B9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaap_IncomeTaxPolicyTextBlock_CB3421D4F0D75CE2C2D71A282EC23E96" xlink:type="locator" />
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_IncomeTaxPolicyTextBlock_CB3421D4F0D75CE2C2D71A282EC23E96" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaap_EarningsPerSharePolicyTextBlock_5404ACF4C151FAA3C1BE1A282EC24EBC" xlink:type="locator" />
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_EarningsPerSharePolicyTextBlock_5404ACF4C151FAA3C1BE1A282EC24EBC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="loc_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_D37899005FE96E3EBF671A282EC21F20" xlink:type="locator" />
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_D37899005FE96E3EBF671A282EC21F20" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock" xlink:label="loc_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554" xlink:type="locator" />
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock_52520EDFEC42535973801A282EC2B554" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="loc_us-gaap_DerivativesPolicyTextBlock_BAF55B5D6BDA23DB4D241A282EC31DFF" xlink:type="locator" />
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_95B743DF38465D2E2A581A282EC15224" xlink:to="loc_us-gaap_DerivativesPolicyTextBlock_BAF55B5D6BDA23DB4D241A282EC31DFF" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_3BA36BF32BE70C4CC3D11A2830BB18A3" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_QualitativeAssessmentyears" xlink:label="loc_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_3BA36BF32BE70C4CC3D11A2830BB18A3" xlink:to="loc_cgnx_QualitativeAssessmentyears_8FDFE5A4644041377E011A2830BBCA61" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_32DDD90BAF4298B778131A282F29EFC9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductLiabilityContingencyTable" xlink:label="loc_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_32DDD90BAF4298B778131A282F29EFC9" xlink:to="loc_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeAxis" xlink:label="loc_us-gaap_RangeAxis_D542EDB52D89FE473A8E1A282F29AA54" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:to="loc_us-gaap_RangeAxis_D542EDB52D89FE473A8E1A282F29AA54" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RangeMember" xlink:label="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeAxis_D542EDB52D89FE473A8E1A282F29AA54" xlink:to="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MinimumMember" xlink:label="loc_us-gaap_MinimumMember_D61210333841D69601191A282F29BB80" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA" xlink:to="loc_us-gaap_MinimumMember_D61210333841D69601191A282F29BB80" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_MaximumMember" xlink:label="loc_us-gaap_MaximumMember_4557CBA6C323A1DD9D5D1A282F2A75FD" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RangeMember_B9EEC8522AC4833B78291A282F2986EA" xlink:to="loc_us-gaap_MaximumMember_4557CBA6C323A1DD9D5D1A282F2A75FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ProductLiabilityContingencyLineItems" xlink:label="loc_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyTable_A8D1FD2D0F37843FB2301A282F290AE2" xlink:to="loc_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_ProductWarrantyPeriod" xlink:label="loc_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductLiabilityContingencyLineItems_3A8A8CCCCE01F7A4AD881A282F2ADC5C" xlink:to="loc_cgnx_ProductWarrantyPeriod_923BBC16D3D5609EDD011A282F2A8428" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/Taxes" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_CE45843BA21FB0A0532F1A282EAFA5D3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_7C2C22DCEBA4DC87E7051A282EB04D75" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_CE45843BA21FB0A0532F1A282EAFA5D3" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_7C2C22DCEBA4DC87E7051A282EB04D75" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/TaxesAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_B9173D69202EAA2EA16B3F08E4D2A668" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardTable" xlink:label="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_B9173D69202EAA2EA16B3F08E4D2A668" xlink:to="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_0E0BF93868910348169D3F08E4D2FF99" xlink:to="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember" xlink:label="loc_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:to="loc_cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember_959FAA29F8B490CDE2423F08E4D23FCD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AccountingStandardsUpdate201517Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TypeOfAdoptionMember_B644A32225B9A5EF4E753F08E4D2D484" xlink:to="loc_us-gaap_AccountingStandardsUpdate201517Member_6CE5B943BB7DF69863323F08E4D2D9A8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementGeographicalAxis" xlink:label="loc_us-gaap_StatementGeographicalAxis_A88ED37546D6F572ECB53F08E4D2B9D8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_StatementGeographicalAxis_A88ED37546D6F572ECB53F08E4D2B9D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SegmentGeographicalDomain" xlink:label="loc_us-gaap_SegmentGeographicalDomain_25D7EAD125355675AB353F08E4D2B6EE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementGeographicalAxis_A88ED37546D6F572ECB53F08E4D2B9D8" xlink:to="loc_us-gaap_SegmentGeographicalDomain_25D7EAD125355675AB353F08E4D2B6EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NonUsMember" xlink:label="loc_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentGeographicalDomain_25D7EAD125355675AB353F08E4D2B6EE" xlink:to="loc_us-gaap_NonUsMember_67E804D3FBEADFC366FE3F08E4D26852" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_80C01EBC76643E6A8B643F08E4D2B341" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_97CCA3C82243CE8EF39A3F08E4D310C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_6580013A1F66851B7A113F08E4D3B3BD" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_31E61EF7EF2C973DB2103F08E4D37CB2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_997FF5D48D7EAD1F95BB3F08E4D34C04" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_79FA8313EE46430A41A13F08E4D379E2" xlink:to="loc_us-gaap_ForeignCountryMember_FE27C0E4BD168B1DAFC13F08E4D39237" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis" xlink:label="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_A7BDE12FAD615F2DD44F3F08E4D3AEEB" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_A7BDE12FAD615F2DD44F3F08E4D3AEEB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain" xlink:label="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_742BEE2618C3A814EC473F08E4D347BC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis_A7BDE12FAD615F2DD44F3F08E4D3AEEB" xlink:to="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_742BEE2618C3A814EC473F08E4D347BC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_SisdMember" xlink:label="loc_cgnx_SisdMember_FCF8BC1EFBE9C1BD2C4F3F08E4D39CE6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupsIncludingDiscontinuedOperationsNameDomain_742BEE2618C3A814EC473F08E4D347BC" xlink:to="loc_cgnx_SisdMember_FCF8BC1EFBE9C1BD2C4F3F08E4D39CE6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationAxis" xlink:label="loc_us-gaap_DisposalGroupClassificationAxis_8591A775006D95808CE43F08E4D379E1" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_DisposalGroupClassificationAxis_8591A775006D95808CE43F08E4D379E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DisposalGroupClassificationDomain" xlink:label="loc_us-gaap_DisposalGroupClassificationDomain_AB5CD4210BB1F84B91E03F08E4D31583" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationAxis_8591A775006D95808CE43F08E4D379E1" xlink:to="loc_us-gaap_DisposalGroupClassificationDomain_AB5CD4210BB1F84B91E03F08E4D31583" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationsDisposedOfBySaleMember" xlink:label="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_4177D1AF7AE76D2A8E853F08E4D3724C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisposalGroupClassificationDomain_AB5CD4210BB1F84B91E03F08E4D31583" xlink:to="loc_us-gaap_DiscontinuedOperationsDisposedOfBySaleMember_4177D1AF7AE76D2A8E853F08E4D3724C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="loc_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardAxis_E0F4E41B7717B655ED133F08E4D3A6DD" xlink:to="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ResearchMember" xlink:label="loc_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:to="loc_us-gaap_ResearchMember_18DDBA2E8D4B1874D8683F08E4D36A73" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_StateResearchAndExperimentationMember" xlink:label="loc_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardNameDomain_FDB36CE2A7500259F5563F08E4D3F4B5" xlink:to="loc_cgnx_StateResearchAndExperimentationMember_AB177E08B3159CA4ADF33F08E4D32241" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardLineItems" xlink:label="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_A59BCF90AE266C4BD22D3F08E4D2E66A" xlink:to="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_A230FF3406EDB8C65C4D3F08E4D4267C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_242FC06F6D228F42D94F3F08E4D4A2EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_8148BBD478BC42C9C0F33F08E4D498F1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_A59887B5F06FEC8264F73F08E4D46909" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_UndistributedEarningsOfForeignSubsidiaries_86EC00567FC54E9DB66D3F08E4D48B12" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="loc_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_80FF4C50EA97E0114BDC3F08E4D4442E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:label="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_BF2684B5FEB4DEF581613F08E4D4A954" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount_F7560A33CBEA2150F93F3F08E4D4D9FA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_4D80284194732C2600553F08E4D45C91" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_D61A3160D7B7D0E28A3C3F08E4D4111F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_CD4BF21B8F2B6DDAC1E33F08E4D49E5B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense_C1C753E5493F0877D1403F08E4D42A7F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGrossNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent_3CC2003A21BE8F250BAD3F08E4D400C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_555C53AFAF8FEE58014E3F08E4D463AD" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_555C53AFAF8FEE58014E3F08E4D463AD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_8E4D8BC179647F9670D63F08E4D431C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_9DB1EFC8C01EEB0192183F08E4D495C2" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:type="locator" />
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_004B0CC3331E4CDA78133F08E4D44EDF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:type="locator" />
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_4A7B7DF783E15E598B983F08E4D40B5C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsNetCurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103" xlink:type="locator" />
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxAssetsNetCurrent_99CC54825B778DFAFF663F08E4D45103" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGrossCurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGrossCurrent_7D2ECFB4DBFF285EF3723F08E4D4B9FB" xlink:type="locator" />
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGrossCurrent_7D2ECFB4DBFF285EF3723F08E4D4B9FB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_F017A685DE955CE7DBE23F08E4D408E0" xlink:type="locator" />
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_F017A685DE955CE7DBE23F08E4D408E0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_A3D868C228F2C0ECF57C3F08E4D49FF6" xlink:type="locator" />
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_A3D868C228F2C0ECF57C3F08E4D49FF6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73" xlink:type="locator" />
    <link:presentationArc order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_9395695FDF3319D365D53F08E4D5CA73" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_281807FF673629D82E493F08E4D598B7" xlink:type="locator" />
    <link:presentationArc order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax_281807FF673629D82E493F08E4D598B7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_98C6A7B3BA9D1985CD663F08E4D543CA" xlink:type="locator" />
    <link:presentationArc order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation_98C6A7B3BA9D1985CD663F08E4D543CA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67" xlink:type="locator" />
    <link:presentationArc order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_us-gaap_IncomeTaxesPaidNet_A26DFA4FFA136B688B753F08E4D5FC67" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OpenTaxYearStateAuthorities" xlink:label="loc_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:type="locator" />
    <link:presentationArc order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_OpenTaxYearStateAuthorities_958AFF722BA2296218EE3F08E4D5C40F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_OpentaxyearUnitedStatesInternalRevenueService" xlink:label="loc_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:type="locator" />
    <link:presentationArc order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_OpentaxyearUnitedStatesInternalRevenueService_F97516199FF51E6D4FB73F08E4D5EFFC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Opentaxyearvarioustaxingauthorities" xlink:label="loc_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:type="locator" />
    <link:presentationArc order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_Opentaxyearvarioustaxingauthorities_646CFE94006AE64A786A3F08E4D56BFE" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement" xlink:label="loc_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:type="locator" />
    <link:presentationArc order="30" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement_53DAF0138EAC18643E4D3F08E4D54F04" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_TaxyearsforAPAagreement" xlink:label="loc_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:type="locator" />
    <link:presentationArc order="31" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_TaxyearsforAPAagreement_46955422276823EC9AF53F08E4D5482D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_Stateresearchandexperimentationtaxcarryforwards" xlink:label="loc_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:type="locator" />
    <link:presentationArc order="32" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_B4F726C48F8F9DAF54BE3F08E4D38EA3" xlink:to="loc_cgnx_Stateresearchandexperimentationtaxcarryforwards_47C2AF2A0E285E771FBA3F08E4D51686" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_5360D62A74184C059A7C1A282F21E05C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_A76BA0000C07B74524AE1A282F215314" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5360D62A74184C059A7C1A282F21E05C" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_A76BA0000C07B74524AE1A282F215314" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_DC9F9CF57CD127BB70641A282F21FC92" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5360D62A74184C059A7C1A282F21E05C" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_DC9F9CF57CD127BB70641A282F21FC92" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_ED362A843F1515DA9D631A282F217650" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5360D62A74184C059A7C1A282F21E05C" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease_ED362A843F1515DA9D631A282F217650" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_CF261978388AA85D69E71A282F211AAF" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5360D62A74184C059A7C1A282F21E05C" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions_CF261978388AA85D69E71A282F211AAF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities_04D20FB3DFC87A5039C41A282F212751" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5360D62A74184C059A7C1A282F21E05C" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities_04D20FB3DFC87A5039C41A282F212751" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_47476F6C6779141DEE6D1A282F211430" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5360D62A74184C059A7C1A282F21E05C" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations_47476F6C6779141DEE6D1A282F211430" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="loc_us-gaap_UnrecognizedTaxBenefits_4AD2A1257626B04EB8431A282F2112BC" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5360D62A74184C059A7C1A282F21E05C" xlink:to="loc_us-gaap_UnrecognizedTaxBenefits_4AD2A1257626B04EB8431A282F2112BC" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/TaxesConstituentsOfDeferredTaxAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:to="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState" xlink:label="loc_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:to="loc_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState_C8601E5F70EF81DCF5F41E4C47F43AA7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_C515F57B85EE33B42D291E4C47F48BA2" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost_C515F57B85EE33B42D291E4C47F48BA2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="loc_us-gaap_DeferredTaxAssetsInventory_90ACA9EA30E30891B7D41E4C47F4963E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:to="loc_us-gaap_DeferredTaxAssetsInventory_90ACA9EA30E30891B7D41E4C47F4963E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_NoncurrentDeferredTaxAssetsDeprecation" xlink:label="loc_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:to="loc_cgnx_NoncurrentDeferredTaxAssetsDeprecation_52860973825043BBA3461E4C47F4FC13" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther" xlink:label="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_F9FF61F5644F77BEBCCF1E4C47F472C4" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:to="loc_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther_F9FF61F5644F77BEBCCF1E4C47F472C4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_DeferredTaxAssetsOtherNoncurrent" xlink:label="loc_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:to="loc_cgnx_DeferredTaxAssetsOtherNoncurrent_F7187F1EFE4A6A3407351E4C47F4E831" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsGrossNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_49EFE0D834EB03A77BEF1E4C47F41449" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract_2D7DF57D48A1F90D49CC1E4C47F38216" xlink:to="loc_us-gaap_DeferredTaxAssetsGrossNoncurrent_49EFE0D834EB03A77BEF1E4C47F41449" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7941C05925419C6BCA351E4C47F4AD26" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets_7941C05925419C6BCA351E4C47F4AD26" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesNoncurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_5B49502B015F31CF5D851E4C47F5EA79" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesAbstract_29158177BBDFB73695791E4C47F43DB7" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesNoncurrent_5B49502B015F31CF5D851E4C47F5EA79" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_0CDD0F62C3E279CB3D901E4C47F5465A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent_0CDD0F62C3E279CB3D901E4C47F5465A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_C663FA59D87810B015E61E4C47F523B6" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:to="loc_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent_C663FA59D87810B015E61E4C47F523B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesOther_76C4128D4E84E65761421E4C47F5B523" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesOther_76C4128D4E84E65761421E4C47F5B523" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxLiabilitiesGrossCurrent" xlink:label="loc_us-gaap_DeferredTaxLiabilitiesGrossCurrent_6E98029CEFE58E7F24C91E4C47F5E4A2" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract_56F1EB118AF2FE7355491E4C47F556BB" xlink:to="loc_us-gaap_DeferredTaxLiabilitiesGrossCurrent_6E98029CEFE58E7F24C91E4C47F5E4A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardTable" xlink:label="loc_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_3CA4113CEB1CD653FA541E4C47F3A3B7" xlink:to="loc_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowanceByDeferredTaxAssetAxis" xlink:label="loc_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:to="loc_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetDomain" xlink:label="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ValuationAllowanceByDeferredTaxAssetAxis_663E08F88EB3EE2707591E4C47F550B4" xlink:to="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredTaxAssetDomain_BBC4177E729C726BEC8A1E4C47FABF9C" xlink:to="loc_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_C2D5DAEAD066F36471281E4C47FB0D4E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_TaxCreditCarryforwardLineItems" xlink:label="loc_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardTable_571C330927B2A06638F51E4C47F5E970" xlink:to="loc_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TaxCreditCarryforwardLineItems_2075321D3FE237B385901E4C47FB36F9" xlink:to="loc_us-gaap_DeferredTaxAssetsValuationAllowance_F036E8D2392E1A9D77D81E4C47FBE8A3" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/TaxesConstituentsOfProvisionForIncomeTaxesDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_8D30D6BE1BC9E8A4DE441A282F0DE88D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_8D30D6BE1BC9E8A4DE441A282F0DE88D" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentFederalTaxExpenseBenefit_2793EE35C7C70D28AAC31A282F0ED3C4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:to="loc_us-gaap_CurrentFederalTaxExpenseBenefit_2793EE35C7C70D28AAC31A282F0ED3C4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_21140A89762CF46C4BCD1A282F0EA0D4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:to="loc_us-gaap_CurrentStateAndLocalTaxExpenseBenefit_21140A89762CF46C4BCD1A282F0EA0D4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentForeignTaxExpenseBenefit_EE6A25C18FB8B2E29B951A282F0E40EC" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:to="loc_us-gaap_CurrentForeignTaxExpenseBenefit_EE6A25C18FB8B2E29B951A282F0E40EC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_ED70C7166706A4A9DC681A282F0E48D9" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_3D1F36715FE48F50C9321A282F0DCAD7" xlink:to="loc_us-gaap_CurrentIncomeTaxExpenseBenefit_ED70C7166706A4A9DC681A282F0E48D9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_8D30D6BE1BC9E8A4DE441A282F0DE88D" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_7100C07832DC623B47131A282F0E1F3C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:to="loc_us-gaap_DeferredFederalIncomeTaxExpenseBenefit_7100C07832DC623B47131A282F0E1F3C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3844E5954447CDB949251A282F0E24EB" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:to="loc_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit_3844E5954447CDB949251A282F0E24EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4DBD576E106A7A3719681A282F0E79EB" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:to="loc_us-gaap_DeferredForeignIncomeTaxExpenseBenefit_4DBD576E106A7A3719681A282F0E79EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_3A48D65AF6B327042F621A282F0E960D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_C528C1B21F52CD4A28541A282F0E4915" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_3A48D65AF6B327042F621A282F0E960D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_EC0FBB3D16778074D18A1A282F0EA2F1" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_8D30D6BE1BC9E8A4DE441A282F0DE88D" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_EC0FBB3D16778074D18A1A282F0EA2F1" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_5924B8E9BC8405F2F26E1A9F917E06A6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_05F92148F330F286C2E31A9F917E82C8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5924B8E9BC8405F2F26E1A9F917E06A6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_05F92148F330F286C2E31A9F917E82C8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_6D477A970ED1C96B302B1A9F917E693C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5924B8E9BC8405F2F26E1A9F917E06A6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_6D477A970ED1C96B302B1A9F917E693C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_32B4EF5AF78014FA6C321A9F917E1AB4" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5924B8E9BC8405F2F26E1A9F917E06A6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_32B4EF5AF78014FA6C321A9F917E1AB4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_75A78FBF8F5773106CA51A9F917ECFD1" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5924B8E9BC8405F2F26E1A9F917E06A6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_75A78FBF8F5773106CA51A9F917ECFD1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20161231.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_58D1B1EEBEAB3D6B75271ACB3792FACC" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5924B8E9BC8405F2F26E1A9F917E06A6" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_58D1B1EEBEAB3D6B75271ACB3792FACC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_C01BA56BC8EFE589DF651A9F917E1156" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5924B8E9BC8405F2F26E1A9F917E06A6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_C01BA56BC8EFE589DF651A9F917E1156" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_83C1B55E197D3BAC9D721A9F917E2417" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5924B8E9BC8405F2F26E1A9F917E06A6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_83C1B55E197D3BAC9D721A9F917E2417" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_FD7A8F9AC148A31EE2501A9F917E14C7" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5924B8E9BC8405F2F26E1A9F917E06A6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_FD7A8F9AC148A31EE2501A9F917E14C7" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/TaxesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_2690DBD6D3095F43006D1A2830FFDC2D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_500E5D812A6E4194ABAE1A283100D990" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_2690DBD6D3095F43006D1A2830FFDC2D" xlink:to="loc_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_500E5D812A6E4194ABAE1A283100D990" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_AA2007467802ABBD13D01A283100173B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_2690DBD6D3095F43006D1A2830FFDC2D" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_AA2007467802ABBD13D01A283100173B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_SummaryOfIncomeTaxContingenciesTextBlock" xlink:label="loc_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock_C5BED030EAEABBEEE2E61A2831004C93" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_2690DBD6D3095F43006D1A2830FFDC2D" xlink:to="loc_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock_C5BED030EAEABBEEE2E61A2831004C93" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1D2BEE1F05645EC7BFC11A283100392F" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_2690DBD6D3095F43006D1A2830FFDC2D" xlink:to="loc_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_1D2BEE1F05645EC7BFC11A283100392F" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/WeightedAverageShares" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_6D96DCEBBAFB33DFB42C1A28303290CE" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_257ECAE296A325549A991A28303285CA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_6D96DCEBBAFB33DFB42C1A28303290CE" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_257ECAE296A325549A991A28303285CA" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/WeightedAverageSharesAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_A91FE4455AAF593BD14B1A2830C99A7B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="loc_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_A91FE4455AAF593BD14B1A2830C99A7B" xlink:to="loc_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="loc_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:to="loc_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockDomain" xlink:label="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementClassOfStockAxis_8441BF8DFC9BD17D98B41A2830C93D0C" xlink:to="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfStockDomain_04620529BBB2CDD829A81A2830C9998A" xlink:to="loc_us-gaap_CommonStockMember_5FFDFC0EE43DE00E1F131A2830C925CD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ClassOfStockLineItems" xlink:label="loc_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfStockByClassTable_783ED7C1254741E9CA701A2830C9C133" xlink:to="loc_us-gaap_ClassOfStockLineItems_AD161F2417A33E9C10ED1A2830C9BE3C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7AA9F7299FF1D1C77CE31A2830C9D431" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_A91FE4455AAF593BD14B1A2830C99A7B" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7AA9F7299FF1D1C77CE31A2830C9D431" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_2A68DA1CE888D145AC111A282F55FF10" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_DD78D8683673B38114371A282F56B874" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_2A68DA1CE888D145AC111A282F55FF10" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_DD78D8683673B38114371A282F56B874" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_F7698B512FF20D5B13DA1A282F5621B6" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_2A68DA1CE888D145AC111A282F55FF10" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_F7698B512FF20D5B13DA1A282F5621B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3BED5044AEC5050662EB1A282F56DB25" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_2A68DA1CE888D145AC111A282F55FF10" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3BED5044AEC5050662EB1A282F56DB25" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://cognex.com/role/WeightedAverageSharesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_43C79E34E8B3EEEAF0F81A28305C4355" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2016/elts/us-gaap-2016-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_8C5CA4B7E65B6FBE88E81A28305C7858" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_43C79E34E8B3EEEAF0F81A28305C4355" xlink:to="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_8C5CA4B7E65B6FBE88E81A28305C7858" xlink:type="arc" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>14
<FILENAME>cgnx-201412_chartx59625a02.jpg
<TEXT>
begin 644 cgnx-201412_chartx59625a02.jpg
M_]C_X  02D9)1@ ! 0   0 !  #_VP!#  $! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_
MVP!# 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0$!
M 0$! 0$! 0$! 0$! 0$! 0$! 0$! 0'_P  1" (5 IH# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#^_BBBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH *^,_V[?V^/V9_P#@G'\!-9_:
M*_:C\;2>%/!%AJ%KH&AZ3I%C_;?C7Q]XPU&"ZN=*\$^ O#23VTFN^)=1M[&]
MNQ'+=6&DZ5IECJ&M^(-5TC1-/O=0@^S*_@1_X.P->\0:G_P4[_X)+_#_ .(S
M%_V;(YO#.OR6NL231^%;WQ)KO[1WAC0?B\VH1E%M9VL? &E> K>]E:2:>TTK
M5'54MHKUS= ']3?P9_;(_;X^,?PNT_XZ0?\ !-B'P3\/?$FD6OB?P9\./&W[
M6?A#1?VIM?\ "VH1Q:AHU]??"Z;X4?\ "I?"'B'7]&N;6\L/!GB_]H'1=3TV
M>8:?XHOO#]\)8(-+X>?\%6O@'J?[ _B__@HA\=M"\9?LK?!SP3XL^,7A/Q)X
M4^,=G;1?%3P_JWPD^+_BGX*GPOKWA#0)M2\KXE>)_&/A>73--^'VBW^NWL>K
MZA::.FI7KI/>)^GJ#<C!N07F!![@R.,?3''TK^)O_@\U\-:SX(_85_9HTGX?
MZ)%X=^$WB;]L+QKXQ^)\&AP7%GINJ_%'Q)\.O&OB'P_K&M1V_P#HL]]KVHWW
MQ%UJYGNBOVS6MU\J279>4 '[U_ ;_@H#^U_^U3^S3!^V#\!?V"M*G^#OBO0M
M6\9?!GP!\5_VEK/X>_M'_&CP+ KOX>\2:)X*TCX.^./A?X+N?&T,4USX)T;Q
MG\7[=-;M'TR^O=9T33=7L]0/KW[ ?_!37X$?\%,?V?=>^,G[*IN9O&7@[4G\
M)?$+X*?%NXE^'WCKX6_$-(O-3PI\1TTC3?&SZ597\<=S/H_BG0--\2Z/K$5G
M?P68.JZ3KFE:3[?^PI!I-M^Q#^QW;:$EG%H-O^RW^SM#HD=AY?\ 9Z:3'\(_
M!:Z<MB8R8FLQ;B,6QC9D,>W:2,5_&%_P;5R>+[?_ (+P?\%D-/\ "@9/@H=8
M_:+;7X]/:<>'4\0V?[94D7PG\D6H.GO=IHES\1$T3SF!&DOKOV+<GVC !^WO
M[''_  <%>'_VC/\ @H@__!.KXP_LK>(?V;/B'K%I\78OAMXZOOB_HOQ%\&?%
M'Q!\(?$WBOP]JFG>%?L_@/P7=-I6NQ_#KXDW6@:W<2++<7O@^XT.?2(=2NU2
MW_07_@J9_P %(?#/_!,C]FJ_^/>I?##7/C?KXU-+;1?A9X8\2Z;X5U;4]$TR
M!M5\<>+KW7=2TW6H-(\,^!_#R"^U346TB]6?5M2\-^'HECO?$-E*O\?_ /P5
MQ_9^\=?"C]CC]BG_ (+#? "![/XQ_L._M[_MB^'_ !OJD$4K>?X U3_@I/\
MM(>)OAG?Z[+%M:3PYX<^)\=YX.OK!G,=_9?&.[M9XY+564?HW_P4M^.'AK_@
MH3_P2/\ ^"A/_!1#P<U^?@N/V3OAM\#?V9HKIKR,,?$?Q3^"GQ(_:L\3K'<6
MEJDD[_%*T\$?L_WLL(,4>K?LU^)GL9)]-UH33@'ZT?LK?\%6/BI^UC_P37\1
M_P#!2?P;^REX1\/>!].\(?&+QWX=^&/B+]I2Y_X3+Q#X;^!MYXYTSQH;O5]/
M^ 5SX>\/ZQ>ZEX&OH/"VG7$U]:ZC!.EUK.J>'T$:S_)/[/\ _P '!7Q!_:!_
M8%^*7_!2?PW_ ,$_M>N?V;O@AXU\4>%_BGI/AG]I7PEKOQJT31? ^C>$_$'C
M'QUI'@37_A9X*\*^(/#7A[1_%]E?7L,?Q'L=>^SV.JW$>DM;6J3S>,_\$6_^
M55ZY_P"S:?\ @HK_ .IM^T;7YF_\$ /V=/VLOVQ_^""G[1_[)OP2\3_ ;X3_
M  \^/7[1/QK^&WCWXP_$$>/_ !QX\T'POXL^'7P=TWQ_I_A7X3Z#HGA_PQ>7
M]YX<:.QT37]7^*-N+:?4+V:30X)K*RNI0#^T_P#8P_;(^!G[>W[./P\_:D_9
MWU_4-<^&/Q&L]1DL%UW33HGB?P_K&A:G=:)XE\*^+-$-Q=C2O$?AO6K&[TW4
MX+>\O].N#'%J.C:EJFC7VGZE=>8_!C_@HA\!OCC^W!^U=^P9X/U!I/B_^R5X
M2^%'BOQG(U]93V&OQ_$>SN[K7;#P]!;[[AY_AC-=>"]+\;RSMY5GJ_CK2=-7
M;=6E]''\T?"OX._ W_@@G_P2IU7PGX3U^[\8Z#\ O"WB'Q$_B;QR\.C7OQ9^
M.'Q*\2QVVB1ZM%I7GV_AVP\:_$OQ#X:\):;96;7Z^%O"OV&*YO\ 59-+O-4N
M_P"/#X\_'#]G/_@E=_P5[_8/_P""@G[.7[3/@GX_^!_C-X6A^'O_  42UWP/
MK>K:S>^)/B-XHNX+#]HSXL>)+*YB0V]K\27\2V/QH\&Z#%*D,?C+X9ZE:6\%
MIIUE:14 ?VB_\%;/^"DWB#_@EA^SB_[4=W\ ]/\ CE\-=,\5>$?!WB6PL/B^
M/ASXTTS5?&=]J-AI5UINDZA\,O%NC:UI,=Q:V<=[,?$6FZE$]ZSQ:7-;6DMP
MWSG\2?\ @L7\8/@E^PM\+/\ @I!\5/V$]1OOV5OB!X ^$OQ4\1WOP5_:-\,?
M$?XJ_##P!\8[+PU<>&->\6?#WQI\,?A%I>I?9+SQ7HNBZW:^$?&VNOINI7J3
M3RKHD-[K%G\O_P#!VM?V>J?\$8/'.I:?>6U_87_QI_9YO+*_LIHKJTO;.Z\4
M74]K>6EQ [PSVUU;R1W%O-%(T<L,D<B,58$_B)^W'_P4#^..A_\ !*C_ ()F
M?\$N_BS\&O W[,OP#_;>_9#_ &.?#W_#?_BCX@^(/BI\-])^%OA_P_\ "O5/
M$#R^ ]!^&_A+5?#'C?0[JP\-7GQ'TB[UWQ%%X2\):V+O1;S7H;Z'Q-I@!_87
M\6_^"DGA/2_^"<VH_P#!2[]FWPEH?[0_P1TOX*:U\?I=.U'Q]??";7]0\!>&
M[">\\06.E_:OA_XY@3QOH=QI^LZ1JWA;74T,66N:/>Z2^IF[55/CG_!-W_@K
MII?[>'[&?Q$_;V\>?![1OV9/V=/AR/BI-K.K:]\7I/B3XIM-,^#FF66L^-O$
M6KZ'HOPN\,Z=IF@66FOJLMNUMKVK:W=SZ8L46A^5?VT]>"?M+?L@^ OV#/\
M@W%_::_9/^&GBN\\>>$?A)^P+\?K*V\<WT=K!-XUUCQ1X?\ %7C?Q3XNBM;&
MZO[.PT_Q'XG\2ZOJVCZ9:ZAJ5OI>CW5AI\6I:BMM]NN?@G_@W"\!?"'XK?\
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
M8PUGX9?%.X^+E_XW\.:/XT;QGKOB+2/"FK>&?!6FZ+XO\">-_!FN^$],T_\
MX2CQ/=ZS);MJDFHS7.DLEL$TV2"] /F__@G+_P %K?VD/V]?VE--^!7B?_@D
MQ^U+^RMX/7PCXK\9>*OC7\:-2\1Z3X1\.:?X>M8(M/TZVM?$/P5\%0>(=?\
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
MOKLT-M/9>./#FF^(X](\4>&=9\1:!#=Z5#JEO)IG[AY'O^1_PHR/?\C_ (4
M?ST?#+_@EE^WCX._X)8?$G_@E[X\_;#^"GQA\-^*?A;XJ^!?@/XU^*?@Y\2M
M/\8_#GX/^+M)N='/A.XT*U^*=Y;^-)?!%C=36'P]O[[7-(71]%72=!U"UU/2
M_#]E;W&7^QU_P1;^-7[,O_!+7]HW_@E]K_[1'PS\6^%OC-X:^,FF>%OC+X=^
M&7C/POXK\'ZM\98=*L]1O-2\+ZAX\U[3-9C\-K;ZAJ.CSZ=J^B7<]W_9=K,M
MN+:YU"Y_HL)QZ_D3_*DR/?\ (_X4 ?EGXO\ V6_VZ/&O[-WBS]D3QA^TW\'_
M ![X1\?_  H\2_!CQ5^TKXJ^#OB"+X^7?@OQAX;E\'Z_J>J?#W3/&)^#WB7X
MFW/AS4=7B3QG+<Z#X3E\0-8>(=5^%^J11ZAHNH1_'3_@CI^Q;\>_^">/@O\
MX)J>*O".M67P)^%OA/PQH?PFU_3=3MO^%E?#KQ1X/T^\LM&^)VA>)+K3YK.3
MQY=2ZIKEUXGN[O29-(\5IXC\1Z9JVD/I6KRV<?ZH9'O^1_PI: /R#T+]D[_@
MH_X9_90L_P!C72?VO/@=)::5\,U^#.A?M>7OP6\>?\+ZTCP#;Z/'X2TK6I?A
MG#\2?^%<ZO\ %W1O!H%E;?$&?QG:Z-=^);2S\6:EX%N[@WEA<^I?L0_\$X/A
ME_P3%_9 _P"&;OV*++0[?Q1]ID\3ZU\1?C'#J.NWGQ(^).H)I]CJGCCXD#P=
M+H%]>>7I5A:Z9HWA[P[-HVF:1I.FZ=I%G)!NO]3N_P!*<CW_ "/^%&?K^1_P
MH ^)O^"??[/7Q>_94_9;^%_[.?Q?\<_#KXE7WP@\,Z=X)\.^-OAYX0\2^!(=
M>\/Z4;DV5WK?AKQ%XF\6_P!G:U'%+!!</I>M2V-U-#+?106/GI96WD_['?\
MP3*^$7[$/[6O[</[0_P.:S\,^"_VVF^#7BSQ%\)=/TF.QT?P+\4?A]=_%:7Q
MQK_A6>W=;>W\,_$63X@:=KI\,"UCC\-^)+7Q"VE3+H6KZ9I&B_IB6 Z]1@X
M+'!X!P 3CCKB@,#P#S@'!R#@]"0<$ X(Y'4$=C0!R'Q"^'_@OXK>!?&/PR^(
MWAK2/&7@'X@>&-<\&>-/">O6B7VB>)?"WB73;G1]>T+5;.3"W.GZIIEW<V=U
M%E6:*5BCI($=?Q\_8J_X)I?'S_@F!X7^(WP1_8R^-GP]\??LN>,/'VN?$7X=
M?"C]IGPUXUN?&7P"UGQ7Y"^)M'\-?%/X>:ZC_$/P)=O9V=]8^&?$OA'P[KMG
MJ,=[>W'C:]OM9U.^G_;+(]_R/^%&1[_D?\* /R+_ &$/^"37@G]D_P#: _:&
M_;>^+7Q&N/VDOVZOVHM4O[KXC_&_4_"=OX'\+>#_  O?2Z;+!\+O@S\/H=9\
M37/@SP'IUOHGAO1FFUKQ7XH\4ZKH_A3P]97>L6]K:36ES\*ZE_P15_:EU#_@
MLEI?_!8D_M'? "/QMI%E'HEK\"C\(/B<_A9]!7X%7GP':.?QXOQ-CUEM9.C7
MUQXBBU%/#BV,6JK;V4FCW%C'*T_]+]% %6S@\B%0T5M%/+B:[^RQ^7%)=R(I
MN)0"!(WF2 D/*6F90OF,S FOSG_X*&?LP?MK?M P_!+Q/^Q)^W/JO['/CSX.
M^+]8\2ZYH6H?#C2_B;\*?CCINJ6^D0V_ACXHZ!/=Z?JSZ=HW]F7B:=]AN;JR
M,'B+699]*;6K?P_K6B_I#D>_Y'_"EH ^$_ W[+/CGQK\8?@9^TS^UQXC^&7C
MKXY?L\^!OB3X4^%-E\'O!?B?P3\-?!FM_&:T\.Z1\5?'EC;>-O&'C?Q?J7B7
MQ%X:\*Z9X2T2.\UBUTSPIX8U#Q/90VNKZAK\NK6GW91G'_ZB?Y4F1[_D?\*
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
MXW^+/B__ (.>OVP_V0_%?[0/[3?B7]F;X2Z'\7?$_P /_@EKO[3OQ_U3X?\
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
MW%\6_P#@AO\ \%5?V3_"5A\4/B+\0_\ @G1^VOHMKIOCKX*_%GQUXE^*=[\
M/%NC^,M-\!^)_'7P-\:>/-5\0^//#/AK18/%/@WQG<_#J\\0ZKX5U&.;QKH^
MEZ?ICS>&+GPUY9_P:E^%/%/[#7QI_P""C7_!,[]I?2A\./VF?!GCOX>?%3P]
MX7U61[=OBA\.M-T?7_ NJ^/OAQ]I2%O%7@J$P>$==M->TI;BWN-(\:Z9,_E/
M;WL=MP7_  <!? ?6O^"J?_!9+_@GQ^P9\ [9_%^K_ SP9?>-_P!J?Q3H;'4=
M$^!/P[^(WQ%\*:[JMQ\0+VV#6OAS7[;P)X$&KZ)X?U6XM-2\07_C7P3I=C%Y
M_B"R9@#]1?\ @H?^Q[\2/@]^QK_P5A_;,\8?M1?M>-\:/[+_ &AOC/\ L[Z?
MX$_;%_:/\ _#?X!>#/"^@BW^%NA>#_AOX!^(_AKP/+<,NF/XK\0Q:[H>JVYU
M+6#HR6R6.FH9OSU_X(Z?LU_'?_@HO_P1NN?C;<?MH?MO:3^VDWQ5^*L/P^^+
MT_[;?[3R:1=W7PS\6:7=>%_!7B[P1<_$V\^'M]X-\1VL4WA;Q)++X3;5(M.U
M275+:]74+.V=?Z$/^"V>R'_@D9_P43#%8T'[(GQHB3<0JJ7\*74<$19CM#M\
MD2 MF23")N=@#^:O_!HVZ/\ \$>/!6QU<)\?OV@ Y1E=49O$^FR*KLI(1VC9
M9 C$.8V60+L96(!^V_[=?[0OBG]F7]F#XF_$;X;>%+KXC_&ZZTF;P;^SW\+M
M/2&XU7XF_'GQFEQHWPL\&6-E-/;_ &J"Y\130:MX@V2H;'PEHOB'59&2WT^9
MT_,#_@V\_P""C6M_\%#/^"=7A2\^*/BR\\5?M%?L\>(+[X)?&[5-:NWN?$?B
M2YTZ,:S\/OB#JIF'VN>7QAX)O;.TU/4[H[]1\8>&/%S85HG1?:_C7XB_:(_:
M;_;9CLOV2=2_9SUC0/\ @GW%<:9XX3XZS_$_4- '[4_QS\#136ZZ19?"N_@D
M3Q/\%OV>]8FL+F3Q"7L5D_:4U.ULX$U_PQ</8_S2?LJW_P 3/^"'?_!Q'K/P
MF_:"N/A;X,^ W_!5;1CKY_X57<>*=.^"WA;X@^.O&OB2^^'<NB0^.95UG2_^
M$6^,$'B?X>K9:G=?8=!\+?%F"^A:'28[.*W /5O^"JGQ ^+WPU_X.1_^"='[
M+GP\_:"_::\#?L\_M!:?^SOXC^+_ ,'O"?[3'QZT'P'XQU7QC\=OBWH'BJ2?
M1-/^(D,.DV>OZ)X<T72]3TOP^VDZ9-:61$5I!+<W4DW]PNB:79Z'HVDZ+IRW
M"6&D:;8Z99+=7U_J=TMI8VT5M;K<:CJEU>ZG?SK#$@EO-0O+N]N7#375S/.[
MR-_"3_P63U&QLO\ @ZX_X)$WE]>VEA;6WA+]DXW,U]=6]G%;>;^T?\=$B%Q)
M<RQ)"TLCI'$)64RR.B1!V= W]>O[5?[:WPL_9FM?@GX=NO%'A/5?BM^T1\?/
M@Q^S_P#!_P"'@UBTO-=\5Z_\3?B'X=\,>(=:MM(TZ^&I/X?^'O@^_P!?\;^)
M=7*Q:98VNBP6,]V+_5M-M+P ];_:=\(Z7XS^ _Q3TO5;OQ+IZ6O@7Q=K-CJ7
MA#QIXP\ >(M-U72?#&L7>FZAI?BCP+KOAWQ%IUW9W*K<026FIQJL\<4KQNT4
M97^1G_@V%TCQY_P4'_82_:6\>_M4_M,?MG>./B3H'[1>M_#?PE\5[7]LG]IC
MP_XS\!^&)?@]\,M=A/ANXTWXG1>&8KG1];\0:IK5M/KOAW6;=I[R2'58+[36
M^R#^POXY.J?!;XM2.RK&OPR^(#O(S!8T0>$-:)D>0D(D8'+2.RHHY9@.:_S?
M?^",7_!.SXJ?M]?\$.OVY="_9K^,OQ:^$W[2'AO]J/6+OP?I/@GXS_$;P/\
M#_XU:#8? ;X9W&L? [XI>#=&\7:=X!U+2O'\5[>V.B^)]:T%-1TSQ3!H$6KZ
MY+X,@UC27 /Z#?\ @VC_ &\?VG_V\/AS^W/^SS^U7X_\2?M!>$/V:_B3X<\$
M_#3]HW4;E]&\6^//"/C6]^(>GW?AK6_&O@ZXT6YUW5='L_!&D^*M+\26=[-X
MEBTSQF+?4M<N+--!>OS'_P""6/C[Q)\9O^"I_P#P63^%_P"UC^U7^V9KO[+7
M[&,'[3_C+P/X:D_;C_:N\&:-\,_"7PF_:'U/089O[>\+?&/P]JUSI_A[X>:=
M=Z<A\1:Q?0?98#=7327<:W2?K;_P:\?MX?!#XS?LF:C^Q1'\(O /[-?[6'[(
M5U<:!\;OA#X5\&V'P\O/B#'8:C%X7G^.%]X7C@M]4N?'%SJ>GVWA+XW#4/M>
MJ:%X^LK2YO/[+T/Q5X7TJT_!7_@EQ^QI\#/V]?\ @L/_ ,' '[//QN\-Z;XF
MT7QC-^V#9>&[Q]0O+74O"?B;4/VN+W2]*\9Z!<:9>0RQZEX:U"\L=3AFEAO[
M)9K>"*^L[JVGDM;@ _JH^&7[$/QVTKX2_MX/^SO^U+^U%J/P\_;C_9*^$>I_
MLKS_ ![_ &DOB;\3_&_[*'Q;\5^$/C#9>+3\/_&OC+Q7XA\:^']+L].\9_"O
MQIIU^FN3:G%XBTJ]TJ+6KFTT?2&LOYZ_^#E[P]\5/^"97@G_ ()X:1^RG^V'
M^WQX6UCXH>)OBUX4^*_C'Q)^W/\ M1>,?$?Q)@\$V'P<31]5UU-=^*%UH&DZ
MG)-XFU^]NAX/T/PWI[3ZI)#'91VEI86]K_8#\$_VAOAUX7^+/PR_X)_:=XL\
M.>._CC\+?V7-(\>?&)?"NKQ7UI\.],\'-\.OAEX?C\1116Y;3M6^)/B#5=;U
M#PMHE^UAJR>'_"FJZO?:?;VMUI9N_P"3C_@]EDC72_\ @EZ'DC0CXF_M&28D
M=(_W<=K^SYYD@WE<QQ[T$D@RD990[*6 (!_3'X1_X)W3_"O]JKPC\4/AS\<?
MVH]7^ /B3X"_%KX3_&?X'?%G]L#]HWXO>$Y_%&NZ[\,]=^&OQ+\$VWQ,^(GB
MC7O#?B[3K71?'7AK7=3T7Q!8NNFZQI,VE)IDT>K/JO\ -S_P0;^)?QE^,O\
MP6Q_X*D_!GXN?M!?M*?%#X3_ +,?C/XV1_ [X=?$+]I#XY^+_!_@2/P?^U?_
M ,(9X9%OH>M_$"[L];.C>%K.'0[4^)H];62P:XBNUN3=7#2?W&1$&!&'39&V
M0"<A50_+C[V<<$9#<$$@BOX;O^"'_A2\_9[_ .#D?_@LG\)_BI/;^#_&WQ&N
M?C5XZ^&^A^(I$T74?B!X4\6_M(Z3\5M$UCPA:7TD;Z_!=^ O$FG^)HH]+:ZN
M'T=;Z_$7D:9J;68!_1;K/PVTV3_@KYX,0^+_ (Q1^'KO]B[Q_P#%^Z^'D'QV
M^,UO\*+GXG>'OVB_A=X:T?QM<?"R#QU'X%GUFR\/Z]J^CK#)HC:+/8WACNM'
MG>"VEA_GU\<:Q\1;C_@ZP\"?L-?\+Y_:BM?V2O%GP=N_&6N? C2OVJ_VDM'\
M#2^(5_95\;>.EOK.WTCXIV6JZ5&OB_1=.\0_8M,U2TL?[1@=C;_9[BXMY/Z8
M- AT[Q[_ ,%/O%7C+PO=IK>G_ []CE/A#X\U/39[>[T?0O'_ ,5_C?IOQ!T[
MP-?7L$DD<?C/3O"7PVA\3:YX>+#4M T'Q1X1U'5K>V@\5Z&UU_*=^T;\,O#?
MQH_X/&_!'PR\4ZOXST/1_$W[-MW876J_#GXA^,?A9X[TB[A_8L^(U]9WGAWQ
MM\/]=\.^+M U>QGB@OK<V.I1)<+&L6HV>H:7/<6=P ?7'QV_:L_:0_X)\_\
M!Q%^QO\ L6_ CX[?&?XW?LQ?M@^!O -Q\4_V;/B_\2/$OQS'P@OO%WB?XC^$
M;_Q+\/?%7C_4_$WQ,\$Z=X4T/P1IOQ1DTN^\37=FVC+XEM[N*;P[>Z.-&Y__
M (.$?AQ^W_X=_:'T;XO_ /!-O]H3]H_X=>,?@O\ LQ>)/VN?B_\ ![P%\:?B
M_>^&/BAHOP_^.'@WPIJ&M>'?A'=>)]1^'EUJ7@_2?$<WB'Q7X/\ ^$>CTGQ[
MX+TK4-*&CZAJ5C;:7K'QQ^P#XEN/^"'W_!;[XH_LQ?\ !1>TTOXJQ_M>WEC_
M ,,S_P#!2?XQ0/XD^*]UIVM3-X?\'VOB'XM>*[C4M:TCPKXW2"W^''Q;TD:F
MD'@?XE:)H5]/<#X;ZM)K#_UA:G>6;_\ !7_P7IQNK8:@?^";GQ.OCIQGA&HB
MR_X:K^$40OC8%_M7V(3?NOMA@-KYH,9E+ K0!^-.C_\ !3?X=?\ !7G_ ((]
M:S\??"7CCXB?!#]J+X(^./V=_ _QM\/? _XT_$GX0>+_ (<^-O'?QY^$7A'Q
M#J^@7_@7Q7HFHZO\+OB_X/N_$4O@Z?7XM>M]/L[K7_#<5VGBSPGJ6HI^L_\
MP4'^,_Q0_9&^"O@;P=\,/A3JFL?L_>-=$^(7PD^+WQ_M_P!JCP=\/OC-^S8O
MBO1$\,?"_P 8_#&Q^/?B2VU;X\_$O5O%7B&Y;PWX=LOB';^-KKQ!HVEV&BP:
MQJFL6$5O_*=_P5@_X)3_ !._X)J?\% OAA^UC^Q:-2\-_L3?MR_M _!'X2_M
M-?#3PQ802>&/A?XC\7?'[X<>+V\-WVDF"2VT?X7>.O&7A[2_%7PWU6T2!?A]
M\0+.]\%:?<Z/IFJ^#M-U3^Z/XT?LW_ S]H^S^'5E\<_AAX4^)]I\)/BQX8^-
MOPXMO%=B]_!X2^*G@:34U\*>-=+B2>%!J^C1ZKJ,5O\ :1<6<D-Y/#=6EQ$Y
M2@#\\O\ @D[\=?CY\0/AY%\&?''PYU[5OA;^S-\-?AO\#[7]JKXE?M#?#/XB
M?&_XY?'KX;:8OA#X[Z=\6_@SX(USQMXF^"7B_P +>*M-N8M6\/?$[QK>>/K>
M['V;Q':/J,T\UM^OU>)_"G]G'X&_ WQ)\8/%_P (_AAX3^'_ (E^/OQ"NOBM
M\8]8\-Z>;&\^(/Q$OK1+*]\6^(6\V1)]6O(E>6ZE@CMH;B^NK_4IH7U'4M0N
M[GVR@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ KY*^)/[!/[$WQA\</\
M3?BA^R9^SMX[^(\TL<MY\0/$OP?\"ZCXVU/R26BAUCQ5)HBZYK5K&Q+I9ZO?
M7UJ)/WGDEP&'UK10!S?A'P=X1\ >&])\'>!/"_AWP7X1T&V:ST+PMX2T/3/#
M?AS1;-II;@VFDZ'HUK9:7IUL9YI9C!9VL,9EDDD*EW9C\^?%_P#8=_8W^/\
MXTTSXD_&S]EOX _%+XBZ.EM!IOQ \<?"CP5XA\<6MG9Q^3;::OBV^T>3Q!+I
M4,68TTJ?49M-$9,9M3'\M?4]% ')Z-X#\$^'/"$'P^\.>$/#/A[P)::3/H-E
MX,T'0M,T7PM8Z)<QS0S:18Z!I=M::79:;)%<3QM96MK# 5FERF9'+>8_"3]E
MG]FOX!:OX@U[X'? 3X/_  ?UKQ:T\GBO5?AG\._"O@B_\47%S<V]W<WOB2Z\
M.:9I\NNZA<W5K;3W&HZJUW?3RP1/+<.4%>]44 >0^/O@!\#?BIX%L_A=\2O@
M_P##3QY\--/")9_#SQ;X)\.Z]X&@BCMI[*.V7PGJ.GSZ";1;2ZN+86CV#6OD
MS21F$JQ%<K\&?V1OV6/V<[_4-3_9^_9R^!_P.O=6MY;759OA%\+O!GPX_M.&
M=K1YEU&+PAH^D0WK2&PL@TMS'+*5M+=/,V0HJ_1%% 'RQ\7OV'/V-OC]XUTW
MXE?&O]EKX _%+XC:0EM!IWQ!\<?"?P5X@\<VUG9Q>3:Z:/%U]H\GB&72H(OW
M<>E7&HS::(_W?V78 H][T?P'X)\/>#X/A]X>\(^&O#_@2TTB?0+/P;H6AZ9H
MOA>RT.YBF@FT>QT'2[:TTNRTR2&XGB:RM;6&W*32C9F1R>LHH ^&-0_X)A_\
M$W]7U.[UO5_V!_V-M7UO4+J>_P!0US5?V:O@_J6MZA?W3,]U?W^KWWA&?4;V
M^NW>1[J\NKF6YN7DD:>61G<GL_AQ^P3^P_\ !W6]7\3?"3]CW]F+X7>)M?\
M#>L>#M;\2?#OX%?#/P5XAU?PGXAMXK77?#>I:YX;\-Z;JEYH>KVUO!!J.ESW
M;V=W#!!'-$ZPQA?K2B@#PWX,_LR?LZ?LZ0:O:? #X$_"+X)66O213ZW8?";X
M>>%?A[I^K7$+%TNM0L/"FF:59W=V&P6NIH'N'VKYDK!%V^7>(/\ @GM^PAXM
M\93?$;Q5^QK^R_XF^(D^I0:S)\0/$7P+^&^M^.CJ]K.MS9ZHOC#4O#MSXBCU
M"QN%2:PO(]22XL)(XWLY(&C0K]AT4 ?.?QC_ &0/V4_VB+_3]3^/O[-OP+^-
MU]I-M%9Z5<?%SX5^"_B,=+MX/M B33D\7:-J\5B46ZN4#VJ12%)Y8RY1V4];
MX*_9_P#@?\-OA[J/PE^'GPD^'?@7X7ZK!<VM]\//!_A+1?#?@J:TN[&#3+BT
M'AG1[2TTB&TDT^VM[(VMO:10+;0QPI&J( /7Z* /D/P5_P $_OV&/AMXQM/B
M)\.OV._V8_ 'Q LKX:G;>.O!/P.^''A3QDE^+V+4FNV\4:#X>L-;EGFU&""_
MN'FOI#<WD,=S<>;,BN/K2\L[34+6YL;ZV@O;*\MYK2[M+J&.XMKJUN8FAN+>
MX@E5HYH)X7>*6*1622-V1U*L0;%% &/X>\/:#X2T#1/"OA;1=+\.^&?#6D:;
MX?\ #WA[0["VTO1-"T+1K*#3=(T;2-+LHX;/3M+TO3[:WL=/L+2&*UL[2"&W
MMXHXHT0?,WQ/_8-_8D^-WBFZ\;_&?]D3]FKXN^,;W/VCQ3\4/@E\.O'_ (A=
M6;>T2ZOXK\/:M?10-)F4P13QPF4M*8S(S,?K&B@#XSM/^"=/[ EEK_AWQ5;_
M +%/[*B^)_!^JV.N^$O$<GP"^&$^N^%=:TR[M]0T[5_#>K7'AJ6_T+4[&^M;
M6\M;[2Y[6Y@N;:WGCD62&-E^S, =!CJ?Q)R3^)Y/O110!\V?&+]C;]DK]H?6
M+7Q!\?/V9?@+\;M:L85M[#4OBY\)O _Q&NM/A6-8=FGR>+]%U?[ &A2.*0V@
MA:6....0ND:!?5/AI\*OAI\&O"UKX&^$O@+PC\-?!EA(9-/\)^!_#^F^&/#>
MGDV]M:A-/T32+>UTZQACM;.UMHH+2WA@AM[:"&*-(XD4=_10!XG\6_V;O@#\
M>9-'N/C-\&OAG\3;_P .)=IX9U?QKX,T'7M=\+B_BD@OF\+^(+VR?7?#;WL$
MLMO=OH>I6#7,$TT4Q=)9%;5^$_P)^"WP(TK4]$^"_P */AW\*M+US43K&O6G
MP_\ !V@^$T\0ZTP8/K?B&31;&TN-?UJ4._G:OK,U]J4I9C)=,68GU>B@#RCX
MN? GX+?'[P]'X2^./PH^'?Q@\*13/<#PO\3/!^A>-_#<DKB+<\^A>(K+4-+N
M23! X%S:RJLD,,B@211LO-?!G]E;]F?]G,ZG_P ,_?L__!KX'QZU')'J]O\
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
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5_/9_P5N\'_LA
M?M+>/?@KX4\:^/;S]G_]I'X _M.> _#NB?M'^$]3B^%O[07P9\)^./@?X_\
MBA;>._@_\0=2LXI/$7@>;5=.TB'7=*L/^$D\,:GXC\-Z]X1U.PL_$*L4_H3K
MF/$7@OPEXNG\-W7BCPWHOB&Y\'>([3QAX4GUG3K;4)?#?BJPLM0TVR\1:&]R
MDATS6;6PU;4[.#4;,Q74=O?W42R!)G! /Y=OV<_#WQV^)7Q__P""7_[8O_!5
M;X=Z*]E\0_\ @G!^T5^SOXG?XD^!;/1? _@W]I'4_CEX0\>_#[Q3\6_"FL6]
MOX8^&'B7]I']FKPW?:C)HOBZPTS1=.\=Z;J?P];3M%\3W/AS1I.<\%_LV_%;
MP/\ #;X;?&'1](\77G[)7[(__!>S7?V@/V>/#=Q)K>ICP+_P3S\5>"]8^"'B
M+Q1X"T*:&?5(_@G\./BU\2?&?Q,\'6L=C-'IOP-T;Q!XN\-R77@V]T2Y?^LZ
M2&*:-HI8TEB=61XY%$B.C AED1PRR*P/S*X8,>2":DVC&.?KDY^N<YSCC.>G
M'2@#^4__ (*-_L@_$[]O#Q[_ ,%1?C-\ ]$O_&FC>'/V#OV-OV?_ (33:',]
MUIOQZ^+7[/7[5FN_MR?$7P?\--0M7;3O$LEKH^D^ OAG;:M:O>:)<?$'Q9?^
M$TU$WV@^*+&Q_1+QY9:7^V)_P4Q_X)G_ !M^#%_+XG^&/[)WP7_:^^-'Q(\8
MV]O?V^D:+K'[2OP_^'?P@^$/PPUAGAB:P^(NMV4WQ$\6ZSX'U00Z[X2TGP)+
M-XITK2;C5O#PO?V<CCCB1(XD6..-%C1$4(B(BA41$4!41% "HH"J. !21Q11
M;O*C2/>S.^Q0NZ1R6>1L?>D=CEW.7<\L20* ).E>2?$+X(_#[XG:G::QXNM/
M$EQ?6&GC3;9M&^(7Q&\(6XM%N)[L++8^#?%OA^PN9O.N)2;NYM9KPH4A-P88
MH8X_6Z1NA^A_E0!^)7_!''7_ !9XWB_X*>>'/'/CGX@^.M)^#/\ P5Q_:X^#
M/PL@\;_$#QKXOG\"?"GPAH'PCNO#'P_\.ZAXBU[4M2L_"V@W6L:M<Z7I;WDT
M5I-J=ZT9 EVK^R__  C.D_\ /.[_ /!KJ_\ \GU^*W_!$O\ Y"__  6)_P"T
MWW[;G_J,_!*OW(H P/\ A&=)_P">=W_X-=7_ /D^C_A&=)_YYW?_ (-=7_\
MD^M^B@# _P"$9TG_ )YW?_@UU?\ ^3Z/^$9TG_GG=_\ @UU?_P"3ZWZ* ,#_
M (1G2?\ GG=_^#75_P#Y/H_X1G2?^>=W_P"#75__ )/K?HH P/\ A&=)_P">
M=W_X-=7_ /D^C_A&=)_YYW?_ (-=7_\ D^M^B@# _P"$9TG_ )YW?_@UU?\
M^3Z/^$9TG_GG=_\ @UU?_P"3ZWZ* ,#_ (1G2?\ GG=_^#75_P#Y/H_X1G2?
M^>=W_P"#75__ )/K?HH P/\ A&=)_P">=W_X-=7_ /D^C_A&=)_YYW?_ (-=
M7_\ D^M^B@# _P"$9TG_ )YW?_@UU?\ ^3Z/^$9TG_GG=_\ @UU?_P"3ZWZ*
M ,#_ (1G2?\ GG=_^#75_P#Y/H_X1G2?^>=W_P"#75__ )/K?HH P/\ A&=)
M_P">=W_X-=7_ /D^C_A&=)_YYW?_ (-=7_\ D^M^B@# _P"$9TG_ )YW?_@U
MU?\ ^3Z/^$9TG_GG=_\ @UU?_P"3ZWZ* ,#_ (1G2?\ GG=_^#75_P#Y/H_X
M1G2?^>=W_P"#75__ )/K?HH P/\ A&=)_P">=W_X-=7_ /D^C_A&=)_YYW?_
M (-=7_\ D^M^B@# _P"$9TG_ )YW?_@UU?\ ^3Z/^$9TG_GG=_\ @UU?_P"3
MZWZ* ,#_ (1G2?\ GG=_^#75_P#Y/H_X1G2?^>=W_P"#75__ )/K?HH P/\
MA&=)_P">=W_X-=7_ /D^C_A&=)_YYW?_ (-=7_\ D^M^B@# _P"$9TG_ )YW
M?_@UU?\ ^3Z/^$9TG_GG=_\ @UU?_P"3ZWZ* ,#_ (1G2?\ GG=_^#75_P#Y
M/H_X1G2?^>=W_P"#75__ )/K?HH P/\ A&=)_P">=W_X-=7_ /D^C_A&=)_Y
MYW?_ (-=7_\ D^M^B@# _P"$9TG_ )YW?_@UU?\ ^3Z/^$9TG_GG=_\ @UU?
M_P"3ZWZ* ,#_ (1G2?\ GG=_^#75_P#Y/H_X1G2?^>=W_P"#75__ )/K?HH
MP/\ A&=)_P">=W_X-=7_ /D^C_A&=)_YYW?_ (-=7_\ D^M^B@# _P"$9TG_
M )YW?_@UU?\ ^3Z/^$9TG_GG=_\ @UU?_P"3ZWZ* ,#_ (1G2?\ GG=_^#75
M_P#Y/H_X1G2?^>=W_P"#75__ )/K?HH P/\ A&=)_P">=W_X-=7_ /D^C_A&
M=)_YYW?_ (-=7_\ D^M^B@# _P"$9TG_ )YW?_@UU?\ ^3Z/^$9TG_GG=_\
M@UU?_P"3ZWZ* ,#_ (1G2?\ GG=_^#75_P#Y/H_X1G2?^>=W_P"#75__ )/K
M?HH P/\ A&=)_P">=W_X-=7_ /D^C_A&=)_YYW?_ (-=7_\ D^M^B@# _P"$
M9TG_ )YW?_@UU?\ ^3Z/^$9TG_GG=_\ @UU?_P"3ZWZ* ,#_ (1G2?\ GG=_
M^#75_P#Y/H_X1G2?^>=W_P"#75__ )/K?HH P/\ A&=)_P">=W_X-=7_ /D^
MC_A&=)_YYW?_ (-=7_\ D^M^B@# _P"$9TG_ )YW?_@UU?\ ^3Z/^$9TG_GG
M=_\ @UU?_P"3ZWZ* ,#_ (1G2?\ GG=_^#75_P#Y/H_X1G2?^>=W_P"#75__
M )/K?HH P/\ A&=)_P">=W_X-=7_ /EA6W#$D$4<,88)$BQH&=Y&"HH5=TDC
M/(YP!EG=G8\LQ))J2B@ HHHH **** "BBB@ HHJO/=VMLT"7%Q!"]U,MM;)+
M+'&UQ<-'+*L$"NRM-,T4$TBPQ!Y&2&5U0K&Y4 L44F1C/\N>G48&3GCI1D8S
MT[<@CVZ'GGMZ]J %HI 01D?CD$$?4'!''/(Z<T Y_7J".GIGJ/<<4 +2-T/T
M/\J6D;H?H?Y4 ?AQ_P $2_\ D+_\%B?^TWW[;G_J,_!*OW(K\-_^")?_ "%_
M^"Q/_:;[]MS_ -1GX)5^Y% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 5_+S_P4=^+_ (J^"_\
MP4L^%LG[<9\2:'^P3X]^('[*<W[-7QRFU75] _9W^!WC3P=X7_:&TO\ : \-
M?&;Q'H.N:5_P@/Q6^)WB+QS\.=4\"?$/Q):I9#P;X3BTC1/$6B6NG^,)8OZA
MJ_)3]NKPI\<_BEXD\#?#?Q/^RIH_[0'P0'[3/P_UK1K;3=<\*:]H'BSX;7OP
M!^)FA^-?"OQW\'>--.M+3PEI-I\0M1O;-?%*Q^-/#MSX<U_P[=,FG^)[--(N
M #R'_@H5X/\ VKO!7[&OPI^#'[.O@C]L+]KSP!=:IJ>H_&KXL?LZ_M?^%/@K
M^V+H_P (_#VK?\)=X$7X>?$OQ:FJ>*/BIXGU(:AI&D:M'X=O8/$GCSPGX0O=
M.O?$#W'C"2+4/G[0_P!H[P)HO[$/_!,CX=?L<_'C]IKQMX,_;O\ VY_"'P)\
M5_%G]I;XG>-_%_[5_A7P9::E\4/B1^TCX$\5^,O$=T_B+PA\2=%7X0ZM^SR(
M]*>TF\!6>KW>K>#M1&HV&F>)Y/K_ /9!^#W[9G_!.K]DS]B[]D/PW\(?#7[7
M6F^ OAIXA\,_%+XHV?Q_LOAQ=?#3Q-/XKO?$GA3PKX>\.?$CPC>7_C/X.>$]
M'\0W'@'P]XCM-;M_'&F:!X-\.$_#RY749HM+L>/_ /@F]K<?P;^$>J^ [OPM
M)^T+\&_^"@]]_P %+#8Q7=YHO@+QA\4O'OQ!\>Z]\;/A78:M>Z??7VC>'O$O
MPQ^*OCGX>>#/%6H:1Y\'B:S\*^./$FF0EM7LX0#X2_;N_;Y^*G_!/+Q?_P %
M*/@Q\*==N;F#0_V(?V5/VEOV9(?$\UWXDM/@A\4_VC_VC=>_8F\10Z8^O2:M
M<:KX)TWQC/\ #3XP:1X/U2YN-+L?$O\ PFEI;P'1_$;V-C]W>*/&>K?L??\
M!1+_ ()[_L[^$_%WCGQ/\-_VS_A-^U;X#\>:3X^\6ZWXRO+WXM_LU>"O 'Q;
M\'?&HZIKMS?W5OXX\4^'+GXE>&?B1<VCV5EXR&I^%;Z_MENO"&D@<)^T5_P3
M!\0?MNW'[?\ X^^*U[:_"[Q=^T[^S=\$_P!F/]G[2Y+BQ\2:E\(=!_9V\<>*
MOCQX(\>_$*7P]=7F@ZSK.O\ [1WB6R\1ZMX3\/ZIJ]C:> ? ^@62>()-:\0Z
MQ8Z/]+6?[/7Q6^//[87[+7[5?QR\':-\,(?V1O@I\:?#OA7P9I/BS3_%]SXD
M^/'[1]G\/O#?Q$\76.JZ2GDP_#/P1X&\#:OX>\#MK"Z9XL\77GQ!U#5->\*^
M$!X6L8-: /TGZUY)\0OCM\(?A7J5IHOQ#^(/AOPCJNH:>-4LK'6KQ[:XN=/:
MXGM%NXD6&7=";FVGA#9!WQ.,<9KUNF.H()RP.#T=U]>RL!GWZT ?@E_P0Z\:
M^%-6/_!7+7=-U[3[S2-?_P""U7[:&M:-?P2LUOJ.E7_A;X)2V=];.44O;W"9
M:)R%+!2<#C/[I?\ "4>'_P#H+6?_ '\_^M7XJ_\ !$O/]K_\%B1EB!_P6^_;
M; RS'_F6?@B.YYX '/8 =A7[CX'O^9_QH PO^$H\/_\ 06L_^_G_ -:C_A*/
M#_\ T%K/_OY_]:MW ]_S/^-&![_F?\: ,+_A*/#_ /T%K/\ [^?_ %J/^$H\
M/_\ 06L_^_G_ -:MW ]_S/\ C1@>_P"9_P : ,+_ (2CP_\ ]!:S_P"_G_UJ
M/^$H\/\ _06L_P#OY_\ 6K=P/?\ ,_XT8'O^9_QH PO^$H\/_P#06L_^_G_U
MJ/\ A*/#_P#T%K/_ +^?_6K=P/?\S_C1@>_YG_&@#"_X2CP__P!!:S_[^?\
MUJ/^$H\/_P#06L_^_G_UJW<#W_,_XT8'O^9_QH PO^$H\/\ _06L_P#OY_\
M6H_X2CP__P!!:S_[^?\ UJW<#W_,_P"-&![_ )G_ !H PO\ A*/#_P#T%K/_
M +^?_6H_X2CP_P#]!:S_ ._G_P!:MW ]_P S_C1@>_YG_&@#"_X2CP__ -!:
MS_[^?_6H_P"$H\/_ /06L_\ OY_]:MW ]_S/^-&![_F?\: ,+_A*/#__ $%K
M/_OY_P#6H_X2CP__ -!:S_[^?_6K=P/?\S_C1@>_YG_&@#"_X2CP_P#]!:S_
M ._G_P!:C_A*/#__ $%K/_OY_P#6K=P/?\S_ (T8'O\ F?\ &@#"_P"$H\/_
M /06L_\ OY_]:C_A*/#_ /T%K/\ [^?_ %JW<#W_ #/^-&![_F?\: ,+_A*/
M#_\ T%K/_OY_]:C_ (2CP_\ ]!:S_P"_G_UJW<#W_,_XT8'O^9_QH PO^$H\
M/_\ 06L_^_G_ -:C_A*/#_\ T%K/_OY_]:MW ]_S/^-&![_F?\: ,+_A*/#_
M /T%K/\ [^?_ %J/^$H\/_\ 06L_^_G_ -:MW ]_S/\ C1@>_P"9_P : ,+_
M (2CP_\ ]!:S_P"_G_UJ/^$H\/\ _06L_P#OY_\ 6K=P/?\ ,_XT8'O^9_QH
M PO^$H\/_P#06L_^_G_UJ/\ A*/#_P#T%K/_ +^?_6K=P/?\S_C1@>_YG_&@
M#"_X2CP__P!!:S_[^?\ UJ/^$H\/_P#06L_^_G_UJW<#W_,_XT8'O^9_QH P
MO^$H\/\ _06L_P#OY_\ 6H_X2CP__P!!:S_[^?\ UJW<#W_,_P"-&![_ )G_
M !H PO\ A*/#_P#T%K/_ +^?_6H_X2CP_P#]!:S_ ._G_P!:MW ]_P S_C1@
M>_YG_&@#"_X2CP__ -!:S_[^?_6H_P"$H\/_ /06L_\ OY_]:MW ]_S/^-&!
M[_F?\: ,+_A*/#__ $%K/_OY_P#6H_X2CP__ -!:S_[^?_6K=P/?\S_C1@>_
MYG_&@#"_X2CP_P#]!:S_ ._G_P!:C_A*/#__ $%K/_OY_P#6K=P/?\S_ (T8
M'O\ F?\ &@#"_P"$H\/_ /06L_\ OY_]:C_A*/#_ /T%K/\ [^?_ %JW<#W_
M #/^-&![_F?\: ,+_A*/#_\ T%K/_OY_]:C_ (2CP_\ ]!:S_P"_G_UJW<#W
M_,_XT8'O^9_QH PO^$H\/_\ 06L_^_G_ -:C_A*/#_\ T%K/_OY_]:MW ]_S
M/^-&![_F?\: ,+_A*/#_ /T%K/\ [^?_ %J/^$H\/_\ 06L_^_G_ -:MW ]_
MS/\ C1@>_P"9_P : ,+_ (2CP_\ ]!:S_P"_G_UJ/^$H\/\ _06L_P#OY_\
M6K=P/?\ ,_XT8'O^9_QH PO^$H\/_P#06L_^_G_UJ/\ A*/#_P#T%K/_ +^?
M_6K=P/?\S_C1@>_YG_&@#"_X2CP__P!!:S_[^?\ UJ/^$H\/_P#06L_^_G_U
MJW<#W_,_XT8'O^9_QH PO^$H\/\ _06L_P#OY_\ 6H_X2CP__P!!:S_[^?\
MUJW<#W_,_P"-&![_ )G_ !H PO\ A*/#_P#T%K/_ +^?_6H_X2CP_P#]!:S_
M ._G_P!:MW ]_P S_C1@>_YG_&@#"_X2CP__ -!:S_[^?_6H_P"$H\/_ /06
ML_\ OY_]:MW ]_S/^-&![_F?\: ,+_A*/#__ $%K/_OY_P#6H_X2CP__ -!:
MS_[^?_6K=P/?\S_C1@>_YG_&@#"_X2CP_P#]!:S_ ._G_P!:MJ&6.>*.>%UD
MBF19(I%Y5XW4,C*>X92"/8T_ ]_S/^-+0 4444 %%%% !1110 4444 %%%%
M!1110 4C=#]#_*EI&Z'Z'^5 'X<?\$2_^0O_ ,%B?^TWW[;G_J,_!*OW(K\-
M_P#@B7_R%_\ @L3_ -IOOVW/_49^"5?N10 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %?._QE_:
MM^ ?P"\1>"?"7Q2^(FD>'?$_C_6=-T;P_P"'XH[S6M;5=7M_$,UAKNLZ1HEO
MJ&I>'_",\OA;6['_ (3#6;2S\.)J5E)8-J/VI)8X_HBOYF_^"DOPN_:&_8T_
M;I\&?\%$_A/X9UG]IGX)?&WXC?LQZ!\?_P!FCP;;WEU^TCI?BK]F/X>_M$P_
M#OQ+^S5%=7L'ACQ7HEUX'^(GQ+U7QO\ "O46TO5=3\06 O\ P[J$]]XAEGT,
M _HZ\+^.O!/CCPCI7C_P7XP\+^+O FO:4NNZ'XT\,Z_I.O>%-8T22-Y4UC2_
M$6EW=UI%_I;Q1R2+?VMY+:F.-V\T!&(XSPI\??@IXX^#^F?M ^%/BIX"USX(
M:QX>D\6:9\6++Q-I9^']YX8BFG@D\00^*9KB'23HZS6TT?\ :#7"VS-&0DC$
MKN_)#Q=^WW_P3P\9?LY_#WP1\+?VA_V>/AG\"/CI\ ?'GQ_-GXX^)'@_X,R^
M(OAGXRU+X@V-KX"T+PIXTU;P[K4&M?$3XP6OC70/&>B6-BQ\.:5X(^(WA+44
MTO5M7T$O^4G[*'Q7\.^.?^"7'_!N;\(_!?CKP[XK\*:Y^W%^S%\.OVAM'\)^
M*]%UU-*USX5_#[XW_M!^#_A;\2--TR]O9-'U(^// _P^\<W'AC7H+6]=/#>D
M2W-F+>ZMVD /Z[O!/Q,\!?$71;[Q!X*\5Z+XATK2M1N]'UFXL+Q#)H>L6%M:
MWM[I&O6=P(+[0M5M;&^L+^?3=8M;&]BT^_L;]H!9WMK/-E?#WXT?"?XL2:E%
M\-OB'X2\;2Z5;:=J%['X<UJSU*1='UIKQ=!\0VZ0R%K[PQXA;3M27P[XHL!<
M^'?$#:;J2Z-JE\;"[$/\I'_!9?XJ?$OX1_&?_@K)X0^%]]J^@>&/C+_P2[_X
M)\ZS\3+O0[V2UD_X2/XB_MW^,OV3O%_B-)5;S+#Q!K7[./BS7_"^HZS:-#?3
M:!X/T&*>61="TDVGZT?M/7UW\+_^"M__  1ZT7X<Z=;^'=&^)/PH_P""AOP5
M\?V.AP0:=83_  D\"?"?X0?$_P %Z-=V4");OI/A#XA^$?#4GAJ!(P-#EUC4
M8--^S0:OJ45T ?L[2-T/T/\ *EKR#XB>+?BSX?U2SM? 'PEL/B!I<VG">\U.
M[^)6C^"GL[\W%Q&U@NGZCH&K2W*"WC@N/MJ3QQEIS!Y(:%G< _);_@B7_P A
M?_@L3_VF^_;<_P#49^"5?N17X'?\$.M3\47'_#W"[U#PM#IVK7G_  6I_;/N
MM8TE/$=E?QZ/JDWA7X(M=Z7'J,5A#%J:6<AV+J$,%O%<ALI!'L8']T?MVO\
M_0 C_P#!S;?_ ")0!T%%<_\ ;M?_ .@!'_X.;;_Y$H^W:_\ ] "/_P '-M_\
MB4 =!17/_;M?_P"@!'_X.;;_ .1*/MVO_P#0 C_\'-M_\B4 =!17/_;M?_Z
M$?\ X.;;_P"1*/MVO_\ 0 C_ /!S;?\ R)0!T%%<_P#;M?\ ^@!'_P"#FV_^
M1*/MVO\ _0 C_P#!S;?_ ")0!T%%<_\ ;M?_ .@!'_X.;;_Y$H^W:_\ ] "/
M_P '-M_\B4 =!17/_;M?_P"@!'_X.;;_ .1*/MVO_P#0 C_\'-M_\B4 =!17
M/_;M?_Z $?\ X.;;_P"1*/MVO_\ 0 C_ /!S;?\ R)0!T%%<_P#;M?\ ^@!'
M_P"#FV_^1*/MVO\ _0 C_P#!S;?_ ")0!T%%<_\ ;M?_ .@!'_X.;;_Y$H^W
M:_\ ] "/_P '-M_\B4 =!17/_;M?_P"@!'_X.;;_ .1*/MVO_P#0 C_\'-M_
M\B4 =!17/_;M?_Z $?\ X.;;_P"1*/MVO_\ 0 C_ /!S;?\ R)0!T%%<_P#;
MM?\ ^@!'_P"#FV_^1*/MVO\ _0 C_P#!S;?_ ")0!T%%<_\ ;M?_ .@!'_X.
M;;_Y$H^W:_\ ] "/_P '-M_\B4 =!17/_;M?_P"@!'_X.;;_ .1*/MVO_P#0
M C_\'-M_\B4 =!17/_;M?_Z $?\ X.;;_P"1*/MVO_\ 0 C_ /!S;?\ R)0!
MT%%<_P#;M?\ ^@!'_P"#FV_^1*/MVO\ _0 C_P#!S;?_ ")0!T%%<_\ ;M?_
M .@!'_X.;;_Y$H^W:_\ ] "/_P '-M_\B4 =!17/_;M?_P"@!'_X.;;_ .1*
M/MVO_P#0 C_\'-M_\B4 =!17/_;M?_Z $?\ X.;;_P"1*/MVO_\ 0 C_ /!S
M;?\ R)0!T%%<_P#;M?\ ^@!'_P"#FV_^1*/MVO\ _0 C_P#!S;?_ ")0!T%%
M<_\ ;M?_ .@!'_X.;;_Y$H^W:_\ ] "/_P '-M_\B4 =!17/_;M?_P"@!'_X
M.;;_ .1*/MVO_P#0 C_\'-M_\B4 =!17/_;M?_Z $?\ X.;;_P"1*/MVO_\
M0 C_ /!S;?\ R)0!T%%<_P#;M?\ ^@!'_P"#FV_^1*/MVO\ _0 C_P#!S;?_
M ")0!T%%<_\ ;M?_ .@!'_X.;;_Y$H^W:_\ ] "/_P '-M_\B4 =!17/_;M?
M_P"@!'_X.;;_ .1*/MVO_P#0 C_\'-M_\B4 =!17/_;M?_Z $?\ X.;;_P"1
M*/MVO_\ 0 C_ /!S;?\ R)0!T%%<_P#;M?\ ^@!'_P"#FV_^1*/MVO\ _0 C
M_P#!S;?_ ")0!T%%<_\ ;M?_ .@!'_X.;;_Y$H^W:_\ ] "/_P '-M_\B4 =
M!17/_;M?_P"@!'_X.;;_ .1*/MVO_P#0 C_\'-M_\B4 =!17/_;M?_Z $?\
MX.;;_P"1*/MVO_\ 0 C_ /!S;?\ R)0!T%%<_P#;M?\ ^@!'_P"#FV_^1*/M
MVO\ _0 C_P#!S;?_ ")0!T%%<_\ ;M?_ .@!'_X.;;_Y$H^W:_\ ] "/_P '
M-M_\B4 =!17/_;M?_P"@!'_X.;;_ .1*W(6D>*-I8Q%*T:-)$'$@C<J"Z"10
MH<*V5WA5#8R ,XH DHHHH **** "BBB@ K\\OVA/V3/CK\1_B1X6\8_#C]HB
M+0O#ME\?_ 'QIG\(>// NC^*;?X<7?A'X/\ BSX7:E>?"34; Z3=S3ZU<:EH
M/BN7PI\0#XA\/1>)X]=UBTO[*SU&;P]=_H;10!\<? []A7]GW]GK]E_P1^RC
M\._"T,G@#P!X#USP/H>M>+['0_%OC*YD\47>NZWXI\5ZSK&I:2L%YXD\3>+O
M$VO^,=9:UL=/T=]=U>\_L_2=.TUHK"'Q3X;?\$OO@W\-?V(_V?/V,],\2>()
MU_9BUCX5>._A%\9ET7PG8?$'0?BY\%?%*^+? 'Q*GLK72V\.:CJ<-TDF@>)-
M*OK*?3_%7@K4]?\ "FJL;+7+N5?TRHH ^#]6_P""?_P?^(VC_M:0_'@R_%GQ
M'^VMX"T/X4?&_6GLE\+6,/PK\'>'O$'A_P "?#_X<:1;7NKW7@?1/!MQXM\6
M^-='OSKFM^)A\1?%6L^+)M<=X]$T_1>Q^'_[*"Z3\8O WQ\^+7Q'UCXT_%3X
M4_!O6O@7\,/$.M>']&\-P>&/"7C'5/"6L?$KQ1<Z7I,MU:ZE\4?BI>> / L?
MCKQ=;'1](.G>%K/2_"/A+PE8ZGXBAUGZ_HH *1NA^A_E2TC=#]#_ "H _#C_
M ((E_P#(7_X+$_\ :;[]MS_U&?@E7[D5^&__  1+_P"0O_P6)_[3??MN?^HS
M\$J_<B@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBO.OBU\5?!/P1^'/BSXJ?$353HO@[P;IAU/6;]+:>]G"/<065G:6=E:H\]Y?
MZCJ-U::=86L8!GO+J"-GC1FE3JP."QF9XW"9=E^%KXW'YABL/@L#@L+2G7Q6
M+QF*JPH8;#8:A2C*I6KUZU2%*C2IQE.I4G&$(N32.7'8W!Y;@L7F.8XK#X'
M8#"U\;CL;BJL*&%PF#PM*=?$XK$UZDHTZ-"A1ISJUJM2484Z<)3DU%-E;XP_
M&'X>? ?X?>(?B?\ %#Q%:^&O"/ANT-Q>WDX:6YNKA\K9:3I-C%FYU76M4N +
M72]+LTDNKRX8*BB-)9(^M\(^*-)\;^%/#/C/0)9I]"\7>'M%\3Z+-<026L\V
MDZ_IMKJVFRS6TH$MO+)9W<+R02 20N6C<;E-?A+\,_AG\5/^"KGQ4T_X\_'K
M3M7\#?L;^!M7N_\ A4_PE-U-;3_$6XMIFMKB^OY[=HOM5M=>4;;Q;XLMR$F0
M3>"?!4T=G'K>MU^]VFZ;I^C:=8:1I-E::;I>EV=KIVFZ=86\5I8Z?864$=M9
MV5E:P*D-M:6EM%%;VUO"B10PQI%&JHH _3_$C@?A_P /,)D_#=?.)YMXE4ZF
M)Q/&^#R^MAJ_#W"L:M+#K <,1QE+G>9<1X.:Q%7/ZV'JO+\#6J4\KHRKXC"X
MFL_R_P -N.>(/$3%YQQ+0R:&4^&M2EAL-P1C,PI8BAQ#Q5*G4K2QW%$L'5Y%
MEO#F,@Z%+(*.)I+,,?1IU,TK1H8?$X:B7:***_)C]:"BBB@ HHHH ***_,7X
MT_\ !1.'PU^T\O[*'P0\ 6OQ/^)7@7QM^SWH'QSF\1^)?^$'\.^#+3]I?PG\
M:_%?PQT'P]JBZ=K=YK?CC4M(^"VL:_?I<:/;>%-#T34=$CO=:GU;65L], /T
MZHKX1\9_M;?&:/X+>#/B+\'?V(/CS\6OB'XCLM>O_$/P6O/%7P:^%VO^ ?\
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
MF:Q_T,,O_@KTW_XU6_10!@?V9K'_ $,,O_@KTW_XU1_9FL?]##+_ ."O3?\
MXU6_10!@?V9K'_0PR_\ @KTW_P"-4?V9K'_0PR_^"O3?_C5;]% &!_9FL?\
M0PR_^"O3?_C5']F:Q_T,,O\ X*]-_P#C5;]% &!_9FL?]##+_P""O3?_ (U1
M_9FL?]##+_X*]-_^-5OT4 8']F:Q_P!##+_X*]-_^-4?V9K'_0PR_P#@KTW_
M .-5OT4 8']F:Q_T,,O_ (*]-_\ C5']F:Q_T,,O_@KTW_XU6_10!@?V9K'_
M $,,O_@KTW_XU1_9FL?]##+_ ."O3?\ XU6_10!@?V9K'_0PR_\ @KTW_P"-
M4?V9K'_0PR_^"O3?_C5;]% &!_9FL?\ 0PR_^"O3?_C5']F:Q_T,,O\ X*]-
M_P#C5;]% &!_9FL?]##+_P""O3?_ (U1_9FL?]##+_X*]-_^-5OT4 8']F:Q
M_P!##+_X*]-_^-4?V9K'_0PR_P#@KTW_ .-5OT4 8']F:Q_T,,O_ (*]-_\
MC5']F:Q_T,,O_@KTW_XU6_5'5-3T[1=-U#6-7O[/2])TFRN]2U34]1N8;+3]
M-TZQ@DNKV_O[VX>.WL[*SMHI;BZNIY$AMX(Y)975$8BH0G4G"G3C*=2<HPA"
M"<ISG)J,8QBDW*4I-**2;;:25R9SA3A*I4G&%.$7.<YR480A%-RE*4FHQC%)
MMR;223;=CR?XM?$;PS\#_A_XC^)WQ,^(">&_!WA:R%WJ>HS:/97$KO+*EM9:
M?I]E;027>I:KJE[+!8Z9IMG%+=WUY-'##&225J_!OXJ>#_C[X T7XF?"KXCP
M^*?"6MK*D%Y!I%G:W=C?6K"._P!'UC3+NWBO]'UG3IB([[3;^"&YAWQ3*LEK
M<6T\WY+Z9#K_ /P5@_:%BUS48-4T[]@K]G[Q2XTC3YX[JPC^/7C[3]ZM<W*-
MY,K:2UO*HNT/[_0_"=W'I:BR\1^+M0FTCE?B%X7\<_\ !)CX]/\ &'X:Z=K?
MBG]B3XOZ];VWQ(\!6)N+Z7X7:Y?7 $-SI,#&*VMY;-&,/@?4[N9(]9TQ)_A[
MK]R+Z#PQJ\G]/8?P*X>JX&/ =;B3$8?Z0-?+X\0X;A.J\'#AU4IT56H^'N)Q
MT^6M0\1,1@6LUA2J589?3K3I<.UU3S.52M3_ )>Q/COQ#2QTN/:/#5#$?1]H
M9B^'<1Q;26,J<1.I&M["OXAX? 0YJ%?P[PV.OE4ZT*4LPJ485>(:'/EL8T9_
MN?KEP?#6C:KXAU_QG!H^AZ%IU[J^LZMJ-GI-II^EZ5IMM)>:AJ-]<S(D5O:6
M5I#+<W,TC*D<,;NQP*_&GP3_ ,%D_A_?^/M3L/B7X3\<> /@WK/B'5=+^%/Q
MJ@\.2ZOI/BC3='U!M/N=1\1:(^CVUW9,Q5;J=/"TWB.XT431Z?K&FPW,<UPD
M?[1/QGU7_@H]\5/#/[''[,GBN4? Y=,T+QW^TG\8]%1S8/X8N?L>J:7X+TJ6
M5 LERS-;QSZ9.!)J/C QZ5J$,.D^#_%23_K"/V<_@G)\'='^ =_\-_"^K?";
M0]$M-!T[P;K&FPZCIT%I9QLL5TK7 :Y767GDFOY]>AFBUB;5)[C4VO?MLTDQ
M\[!\+^'GA?D&74_&/AC.\^XMXUA1Q<.',ISBKP_G?AWPD^?ZKGV*56A6PM;B
MG/:_)B,MX?S;#3PU'),/[?,/JU7-<+['TL9Q3XB>*.?YC5\&^)\DR#A'@J=7
M!SXCS;)Z7$.1^(O%J=)XK(<+*CB*&)H\+9%0<\-F7$&4XJGBJV=XCV&7?6:.
M58I5NA\%>*=#^)'AW3_%W@#XEZ+XS\+ZK&)-.U_PTV@:SI5T-JNR1WE@T\*S
MQ!PMQ:R,ES;29BN(HY%91UG]F:Q_T,,O_@KTW_XU7XG_ !&_8#^//['?B>\^
M./\ P3I\9:W<:>LD]_XR_9R\5:E+K6C^(-/B0/);:)'?7-O#XK"PB6.UT[6K
MFU\:V(56\->+[J]DBTZOL#]CC_@HC\,OVH[A_A[K^G7GPF_: T6*Y@\1?"KQ
M0)[6>]OM)1O[;F\(7=]#:7&IQV'E2W&H:%J%K8^*-%A65KW3I[.W;5)?GN*?
M"&D\AQ7'?A?GK\0.!,)%5,XE#"?4>+^"^?F:H\8\.0JXBIA<-%1G&GG^7U,7
MD>*]C5J?6,,N2$OHN%?%^JL^PW GBCD2\/N.\7)T\GC/%O'<(<:<B@I5>#N)
M)TL/2Q6*;G"57(,PI83.\(JU*F\/B7SSC]X?V9K'_0PR_P#@KTW_ .-4?V9K
M'_0PR_\ @KTW_P"-5OT5^(G[>8']F:Q_T,,O_@KTW_XU1_9FL?\ 0PR_^"O3
M?_C5;]% &!_9FL?]##+_ ."O3?\ XU1_9FL?]##+_P""O3?_ (U6_10!@?V9
MK'_0PR_^"O3?_C5']F:Q_P!##+_X*]-_^-5OT4 8']F:Q_T,,O\ X*]-_P#C
M5']F:Q_T,,O_ (*]-_\ C5;]% &!_9FL?]##+_X*]-_^-4?V9K'_ $,,O_@K
MTW_XU6_10!@?V9K'_0PR_P#@KTW_ .-4ATW6 ,GQ#+_X*]-_(?NNIZ =S709
M _S^OT&1D]N]?C%^W/\ M=>+_BKXQTK]AG]C/5;?Q+\6OB*\NF?$KQ[X=U,2
MZ3\./"K1LNNZ:GB#3FDBL-2CT^22Y\7:W9W$L_A71P=&L8YO%^MV=OIOW?AY
MX?YSXC<04\ERN5'!8/#T*N8\0<08]NCDW#.0X.$JV8YYG.+?+2PV"P>'A.:4
MYQGB:WL\+AU.O6IP?P?B)XA9+X<</U,ZS2-;&XS$5J67</\ #^7I5LZXGS[%
MSC1R[(\FPBO4Q.-QE>=.#<(2AAJ+J8O$.&'HU)JI\7?VN?CU^TK\9/$?[)O[
M">KV.?#\<MK\6?VD[^&U'A_P9:_:#IVI1^"[S3+>YC-S!<--IUGKD?VS4]:U
M6UU&'PA96]MI-QXIA^KOV<?^">GP<_9Z\.:Q:[8?B;XZ\9QR/\1/B/\ $?P[
MH?BG7_%L]W(+B_M FMP:G'IF@7-X#=R:4LMW<W]P([K7=3UF]AAN8_6OV2/V
M5OA_^R/\)-(^&W@N".]U218=2\<>,9[6*WU7QIXI>!8[S5;P("UMIUL,V7AW
M1A)+#HFCQPVBR3W3WUY>?4%?:<<^).7X+"U^ /"7ZSP]X?82MAXXS,Z:EA.)
M?$+'X"RCQ!Q1CHR6+>$J8F,\7D_#D*E'*\JISI5'@_K\958?%<#>&F88[%T/
M$#Q;^J\1>(6+I8B>"RRHXXOAKP]P&/6O#_"^ DI8/ZW3PWL\)G'$=2G6S3-:
ML*L%C5@)1I3_ #8^)'_!)_\ 8T^)NJ6^LWWPZC\&W\=Y'=71^&4S>![#5(Q)
MYEQ8W^C6/VC18K6\!:*X?2=.TJ]6)F%M>6[;67[XTCPM+H&E:9H6BZG%I>CZ
M+I]EI.DZ99:-I<%GIVF:=;16=A86D"1!8;6SM(8;>WB7Y8X8T0<**Z^BOSC/
M>-N,>*,%EF7<2\5<0\08')?;_P!DX7.\XQ^:4LN^M*DJZPD<;B*_L%4C0HQD
MH-)0I0@DHQ2/TC(>!^#>%L;F>9<,\*<.\/8[.EAUFV*R3)\ORNMF/U5U7A_K
M<L%AZ'MG2E6JRBYIMSJ3G*\I-F!_9FL?]##+_P""O3?_ (U6W$KI%&DDAFD1
M$5Y2BH9750&D*( B%R"Q5 %7.%  %245\N?4A1110 4444 %%%% !111D#J>
MO ]SZ4 %%%% !1110 4C=#]#_*EI&Z'Z'^5 'X<?\$2_^0O_ ,%B?^TWW[;G
M_J,_!*OW(K\-_P#@B7_R%_\ @L3_ -IOOVW/_49^"5?N10 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 445Y[\3_B
MQ\-O@OX4NO''Q5\:^'_ ?A2TGAM)-9\17\=E;RWMPLKVVGV49WW.HZE<I!.]
MMINGP75]<)!,\-NZQ2%>G!8+&9EB\/@,OPF)Q^.QE:&'PF"P="KBL7BJ]62C
M3HX?#T(3K5JM23484Z<)3E)I139RXW&X++<)B,?F.+PV P.$I3KXK&XVO2PN
M$PU"FG*I6Q&(KSA1HTJ<4Y3J5)QA"*;E))-GH5%?D9XH_P""O_P=U/6)?"W[
M.'PF^,_[3GBB.<QI!X'\):EI&ARH&">8;Z]T[4?$:(QW;)#X0$#!03,JD-7H
M_P #?^"J/[,_Q5U1/!GCR^UC]GKXGPW"Z?J/@CXQVW_".PPZKYC1265KXJG6
M'1@ZR!(XX->'AO4II)%CCTTOD#]5QO@'XR9=E57.<9X><14L+AZ4<1BL,L/2
MJYU@L+--QQF/X<HUJG$& P+L[XW&990PB:DG6332_*<#X_>#68YM2R;!^(?#
MM7%8BK+#X7$RQ%6CDN-Q46D\'@.(ZU&GP_C\;=JV#P>9U\5*Z<:34HM_I914
M%K=6U[;P7=G<07=K<Q1SV]S;2QSV]Q#*H>.:">)GBEBD4ADDC=D=2"K$<U/7
MY%*,HMQDG&46U*,DTTUHTT]4T]&GJC]?C)2BI1:E&24HR3NFFKIIK1IK5-;H
M****0PI"0.N?P!)_( FOCW]J?]N3X!?LDZ-)+\1/$Z:EXSN+9IM$^&?AB2UU
M+QMJSO&&MI9]/:>*'P_I,S.F=<\036%@4WBR-_<A+23\V?#_ ,/OVZ_^"DVL
M:=XO^+?B#Q%^R5^RR;B+4=!\ >$KS4-*\=^-=,D4F.:5W.GZM?"_LW*KXB\6
MV]CX?A6>*[\.^"-21FO&_8>$?!W-LZR-\:<69K@?#OP^ASJGQ7Q'2KN><UH1
MNL#PCD5'ES3BG'3:>F7PC@:,857BL?0=-Q?X[Q=XR91DF>1X+X3RK'>(GB#-
MTW4X4X;JT.3):$Y13QW%N>UN;*N%L%%-<KS&H\=7E.DL+@*\:G-']BOB1^T!
M\$/A!:W=W\3OBQ\/_ XLH7FEM?$/BK1['5)%C 9DM-%:Z;6+Z<@KLMK&PN+B
M0LJQQ.S*#TOP]^)OP]^+'ART\7?#7QGX;\<>&KV..2#6/#.KV>K6BF6,2B"Y
M-K*\EC>1JV)[&^CMKVW<-%<6\4B,@^%_ /\ P2<_8@\#,;J\^%EU\1-79BTF
ML_$WQ3KWBBYN&))+SZ='=Z9X?>0YY?\ L;=_M5Y5X^_X)-^$/#_B&?XC?L=_
M%WX@?LL?$)?,FBM- UC5=;\#7[\N+2\TZ>_BUVULIW9DEMGU76='BA8HGA^2
M/,3>E1X<\ ,PC+*,+XC\=91FUTZ'$_$? V!I\(XB=E'ZOB,LR'B'/.),MI3F
MU*&8QAF3A#FC6RRGRJ;\VOQ'](#+Y0S?%>&_ F;Y0T_;\+\.<<X^IQ?AH-J7
MUC#YGGO#^1\-YE5A!2C/+I3RU2GRNEF=12Y(_KO17Y!V-[_P63^%L*6-WH?[
M,7[2%I:Q[/[2CU.X\'^([Z-)#AI'>7X>Z6MV81Y8;^RY 0$DD,]P)/-:_P 9
M/^"MGQ3#^'_"'[,7PA_9^>$I9ZIXY^)'C6V\5PPW?[QGO-!T_3M2NVGM@FS8
MQ\/>([<2+AKEPP5</^((X^I.57"^(_@WB\JIM.OG$?$C),)1P].32A5JY3F3
MP7$TE4O:%&AD5;$RDU!4.;0Z%XWX"$8TL5X;^,N$S2HK4,GGX;YUBJ]>JDG.
ME3S7+?KO#4735W.M7SVCAE%<_M^1\Q^ON1]?H"?Y9J,SPB58#+&)GC:586=1
M*T:,%:01$B0HK,H9PNU2P!()%?D-;_\ !/G]K3XDO=:G^T'_ ,%"_C!+-JLT
M;ZGX4^#$=QX'\+Q1Q0^4L-@T6H:9IT*;697,/@VT$^3-<I/.QD'D7QN_X);>
M)_@KH6D_'C]CKXI?&+6_VB?AC?MXD0>.?%=EXDU/QYIJ0HFJZ+IH.F:7;#49
M+5)BF@WOVS2_%MC/?>&[^/SKO3IX.[+/#'PLQF88;(\1X\Y&LXQ\OJ>$Q&!X
M-XEGPK1S2K2<<+2S7B/.O[ JX'*ZF-<,-6S>AD^.I8>E46,J4?80JNGP9GXG
M^*>#R[$YYA_ 7/)9/@8K&8O#X[C/AFGQ56RJG5C+%5<KX<R;^WZ6-S2G@W4Q
M-')ZV<8*MB:E-X.EB%B)4HU/W;K\1/\ @I_\0O%7QR^*/P8_X)Y_!^_,7B?X
MFZUI?BKXIZK:SW!C\/>%(5O9].L-72TD&_3H=*M=:\<^(-/ND+3V&C^'(%BE
MCUA5;Z0^!/\ P4K^$OQ0_9C\?_&_Q4+?PGXQ^"_ANXOOBY\-?M934;'68-UC
MI2>'4OU6[NM'\;:V(-'\.2W,;7%AK-XWA[5F&I6,DEQX+_P2H^$GB?Q]JGQ8
M_;X^,-I'/\0OV@?$&LQ>!A.ID_L/P-%J31ZI<Z6)@9+:PU2^T^Q\-:(#LD3P
MMX/L9(6-GJ[!_J_#W@W,_!O&\=^)?'V42P&9>%N(7#_"F3YA3ISI9OXHYQAY
MRR&5'WG0S'+N'\N=7B^M5P]65'$X6EE=?#5:M'%4W/Y3Q#XSRSQDP? ?AGP!
MG"Q^6^*>'EQ!Q9G&6U)PJY1X6Y/BJ<<^C5:4:^7YCQ!F4:?!]&E7IQK8;%5L
MTHXJE2JX6:A^LOPL^&7@WX-_#[PI\,OA_H]OH7A+P?I%OI&D:?;IC$<0+W%Y
M=2',MUJ6I7;SZCJE]</)<WVH75S=7$LDLK,=KQEX,\*_$/PMKW@CQMH6G>)O
M"?BC2[O1M?T+58!<6&IZ;>QF*XMIXR0PR")(IHGCN+:XCANK66&Y@AE3IJ*_
MFBKFF95LRJ9S5Q^,GF]7'3S.IFDL36^OSS&==XJ>.>+Y_;_6Y8ENN\1[3VOM
MG[3GY]3^EZ.5Y;0RREDM+ 8.&44<##+*>61PU%8"&74Z"PL,"L)R.A]4CADJ
M"P_)[+V*]GR<FA\Z?LV?LL?!S]E'PCJW@[X/Z#=Z98Z]KMQX@UO4M8U*;7-?
MU:]>-;>SBOM9ND2YGL=(LE6RTBR.(+.%KB;$E]?:A=W?T7116N<YUF_$6:8W
M.\^S+&YQF^8UO;X_,LQQ%7%XW%UN6,%4KXBM*=2HXTX0IPYI6A3A"G%*$8Q6
M62Y)E'#F5X+),ARW!9/E&74?88'+<NPU+"8/"TN:4W"CAZ,84X*52<ZDVHWG
M4G.I-N<I-E?C#_P59^$MU\/[?X6_MT_"?0K"Q^)WP!^(/AO4O&NH:=9PVMUX
MI\&7=[9V%BWB2X@C\W4X])U06OA]IKA998O#OBO6()9&M8(DA_9ZN-^(G@7P
M_P#$[P'XQ^'?BNT6]\->-_#6M>%M<MB%W/IFN6$^GW31,P/E7$,<YGMIEP\-
MS%%+&RNBL/K_  LXWJ>'O'.1<2NG/%991Q+P7$65J3]EG/#.9PE@<_RG$4N:
M-.M3QN5U\33IPJJ5.GB?85^7GHP:^0\5.!Z?B'P)GW#,:D<+FE?#+&\.9G9>
MUR;B?+*D<?P_FV'J\KG1J8+,Z&&J5)4G&=3#.OAW+DK33A^&?Q \._%7X?>"
M_B3X2NA=^&O'/AG1O%.BS;HVD%AK5C#?16]P(V98KRS,K6=[ 3OM[RWG@D D
MC8#N*_'#_@D]XZ\1>!(_CC^P]\2+MF\<_LU>.=9D\-^>9%.J?#_7-6E,ESIT
M;@EM-MM?G37+:8E4_LSQSH\<*^5'FOV/J?%+@M< <=\0<,T*WUS*\-BJ>-X>
MS)/GIYKPSFU"EFG#N9TZB2C46-R?&8.M4<&XPKRJTK\U.23\*^-?^(@<!\/<
M35J'U/-,1A9X+B#+6N6IE7$N4UZN5\1994IW<J;P><83&4:2FE*=!4:R7+4B
MV44A(4$D@ <DG@ #DDGL .2>PY/%10W$%Q&DT$J3PR F.6%EFB< E25DB+HP
M# @D,<$$'D&O@+.U[.UTKV=KN[2OM=I.RW=GV/T&ZNHW5VFTKZM)I-V[7:7J
MT34444AA114-S<V]G;SW=W/#;6MM#+<7-S<2)#;V]O C2S3SS2LL4,,4:M))
M+(ZHB*S,P4$AI.348IN3:223;;;LDDM6V]$EJV)M13E)J,4FVVTDDMVV]$EU
M;)J*_,+X[_\ !6K]E#X,:VOAK1=7USXU:W:SEO$$?PBM],U[1_#NG0.5O;V\
M\47^I:;X<OI+;A6M-'U'4/*D81W]SI^0Q^Z_@Y\:/AK\>_ 6C_$KX5^*+'Q3
MX4UE66.[M2T5WI]_"%^V:-K6FS!+[1M;T]W5+W2]0A@NH=T<JI);303R_;Y]
MX:>('"^0Y9Q/Q%P?Q!DN0YQ5='+LRS++<1A*%>KR>TIPFJL(U<.\324JN#^M
M4Z/UZC3JUL)[>E2J3C\/D/B;X?<4Y]F?#'#G&/#^=Y]DU-5LQRS+<RP^+KT*
M7.J=2<'2G*EB8X>K*-'&?5:E9X*M.G1Q:H5:E.,N,_:F_:&\,?LN? _QM\8_
M$T:7P\/626OA[0#<K:3^*/%NJ.;/PYX>MYB'>,7U^ZRZA<Q0W#Z=HUMJ>JFW
MECL9$/YZ> OVG/\ @JK\5O!GA;QUX)_9%^!FG>'/&&CV?B+0M8\6?$.[LA>Z
M)J$)GT^Z;0;CQAIFO60U.!H+RP>[M(V>SFAG>%8[B.0>.?M"7=Q_P43_ &_?
M"7[+^BSRWO[/'[,EY<>*/C)?64ZMI^N^)K&2.UU[36E4(LDYO9+;X86$8:2Y
MM'N/'^IVN^*W9E_>RUM;:RMK>SL[>"TM+6&*VMK6VBC@MK:W@C6*"WMX(E2*
M&"")$BABC14CB1$10J@#];S+#<,>#G!G!V$SC@CACC'Q)XQPCXQSBAQ9'.Z^
M%X1X5Q]&%/A7*88')\[R:*SC-:,:^?8Y8YU*F$PF)P&'JX5N<:B_(\LQ7$_C
M)QKQCC,GXWXGX/\ #3@W%_ZG9/6X3EDE#%\7<58"LZO%6;5,=F^29Q)Y-E5:
M5#(L \#&%/%XK#8_$4\4E3E3E^,>K_LS?\%%OVO]5NK']I_XP^'OV</A!&?L
MUS\,_@%?O?:IXJA:%4N!?ZLE_="2PNQPP\1Z_KEHC!EC\)(,7#_H1^S=^Q_\
M OV4M$GTKX/>"K?2M1U&VAM=?\8:M,VL^-/$D<$GG1IJ^OW*K(MHLVV=-(TN
M'3=#@G436^F12C?7TW17Y[Q5XO\ &'$^41X8I2ROA3@Z+I2_U-X+RZ'#W#U>
MK2Y6L1F5##SJ8W/,4ZD%6^LY]CLTKPK6G3J0M%+]#X5\'^#^&,XEQ/6AFG%G
M&,E4C_KEQIF-3B'B*A2JWB\/EN(Q$(8/(\*J;=%8;(L#EE&5%\E6%2[;***P
M-1\5>&M)O[32]3U[2;#4;Z1(K2QNK^WANII)-HC587D#@RLR+$6"B1F54+,0
MI_',USG)\BPT<;G>:Y;D^#GB,/A(8O-,=A<OPTL5BZJHX7#1KXNK1I.OB:TH
MTL/14_:5JLE3IQE)I'ZQ0P]?$S=/#4*V(J*,ING0ISJS4()RG-QIQE+EA%.4
MI6M%)MM(WZ***](Q"BDR/4?F*6@ HHHH **** "BBB@ K\"OVD_VZ_BWJ'_!
M3WPO^P3I_P 0I?V;8=,U_P#9=\5_"E[/3=%O?&'[5/AGXF^$?VC+SXXZUI1\
M7V6I:'J_P]^"VK^"_AOX9U3PCHFFQ:]-X@U36M?U;5QIMEI=OIW[ZU^!_P#P
M5NT+]E[]I[4O@O\  3]HOP;\1/".H^ ?VN_AQ:^&?BCHGA#XA>&/B';Z)XE^
M!GCOQW%X^_9:^,7A'PM?:Q=>)M,\6Z9IVC:CX<^'VH:MKDGC3P##HWB?PQ?:
M=>:5'? 'VM\0O!O_  4S\>_#/P%X0\ _'7]FSX!_$?1M"UJ]^)7QJNO@/KOQ
MCTSQ]XFLO$VHZ7X,T7P/\(]0^+?AFS^'OAW7O#%A:>*O'NLZ[XQ\;:MI=[KU
MCX8\(::S6.J:O;_%7PD_X*B?'WQ=^Q!^RYXJ^('@+P'X<_:[_:._;HU3_@G9
M:W?ABUUG5_@L?B%X#^+WQ-\!_%+X^>$]+U+5+37]6^'^A_#[X,_$CQYH?A6]
MUF"2_P#&&EV/@JYUM=*N6U@<;X*_;=_:<_9P_8&_8]^$G[:7@[]K_6/VQ_BM
M\)M2G^+_ ,2?@9^R9\6OV@_%OPH\%P:[KUCX3\1>.C\)_"?B7PGI/[1WB3P
MGAJP?1]2OKZV\/?$M/$_C+Q7IFI6&@VV@^+]/XC^$?"OQN_9U_X)Z?&C]E#]
MG/X\?#7X2?\ !//]NGX1>.8?A1\4/@K\0OA;\5-;^!>B^$O%?P<^+7BGPI\+
M/%]@/B9XBF\(Z=\6I?B3=WVLZ2WC#XF7?P^\<S:-:^(-8U?3[O7 #UG]H3_@
MI]J_[$-U^WQX#^,-C#\4O%7[+W[-7P9_:D^!6H6T%CX:U?XQ^&OV@/&GBKX&
M>"_AYXW@T.TBT'0?$FD?M&^%[3PO?^*=#TO3].NO GCSPSJ"^'QK.@:U=ZO]
M(6G[1/Q6^!7[7_[+G[+'QW\5>'OB/_PU[\&OC5XC\)^+/#_A>W\)-X5^.O[.
MEEX#\4?$3P5IVEVD\WVOX8^,/ GC?5-=\"RZW-J7B[PM>_#W4].\1^)O%7_"
M6:?+H7Y5?MY?L'_%3_@H/XK_ ."EWQM^$_AR[:TU/]B3]D[]G#]F:76X;CP]
M!\>/B3^S9^TAKO[;GBY/#S:XFFS67A#6/%5K\./@]H7C&_MX=#U+Q4_BRYMY
MY-(\-RWU[]Z^)O"5_P#MB_\ !17_ ()[?M$^"O#'C/1/AA^QK\(/VK?B#XWU
M[QOX1UWPA/:?%G]ICP7\//A-X)^#!TSQ!::=?'QYX9\,0_$SQ)\2M.AM[E?
MITOPWI>M207_ (LTN)@#]A::Q !&">#T5C_('\J=TKROQY\#_@Y\4-1M=8^(
M_P +O 7CK5;"P&F66H^+/"NCZ]>VFG+/-=+8V]SJ-I<2PVHN;FXG$$;+&)IY
M)-NYV) /R+_X(E@_VO\ \%B3@X/_  6^_;;/((_YEGX(GO[$?F*_<BOP2_X(
M>>#?"6E/_P %=-$TSPUH>GZ/H7_!:S]M'1M%TRSTVUM[#2M)L/"WP2CLM-T^
MUBB6&TLK2,E+>VA1(HE)5$4<5^Z/_",^'?\ H":7_P" 5O\ _&Z -RBL/_A&
M?#O_ $!-+_\  *W_ /C='_",^'?^@)I?_@%;_P#QN@#<HK#_ .$9\._] 32_
M_ *W_P#C='_",^'?^@)I?_@%;_\ QN@#<HK#_P"$9\._] 32_P#P"M__ (W1
M_P (SX=_Z FE_P#@%;__ !N@#<HK#_X1GP[_ - 32_\ P"M__C='_",^'?\
MH":7_P" 5O\ _&Z -RBL/_A&?#O_ $!-+_\  *W_ /C='_",^'?^@)I?_@%;
M_P#QN@#<HK#_ .$9\._] 32__ *W_P#C='_",^'?^@)I?_@%;_\ QN@#<HK#
M_P"$9\._] 32_P#P"M__ (W1_P (SX=_Z FE_P#@%;__ !N@#<HK#_X1GP[_
M - 32_\ P"M__C='_",^'?\ H":7_P" 5O\ _&Z -RBL/_A&?#O_ $!-+_\
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
M*JQ4:LN',93KX6>'PU>-Z6*R[&86IALYIR2Q. P]>%*4/0?^";G[*EU^RS\
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
M10 4444 %%%% !1110 4444KKNO^'V^\ HI,CU'YTUY8XQF1TC&<;I&"*3Z
MM@$^P-*4X0BY3E&,4KN4I*,4M-6VTDM5OW7<=FW9)W[=1]%-WJ>AS] 3GZ8[
M>_3WK^?[]O;_ (*+7WQ$U_4_V6OV5_$YT^UEO)="^+WQWT]KJ32M%TSS!:ZS
MH_@W4=),MY-;0_Z3::[XGTW%Q>R0R:%X/DGENI=8A^_\//#W-_$7-JV$R^MA
M,MR;*\,\SXGXIS2I[#(>%\DIO]_FF:XQ^Y%64HX3"4W+%9AB$L/A:<Y<[A^?
M^(?B)DOAUE%#&YA2Q6:9OFV)66<+\+953^L9]Q3G55+ZOE>4X2-YSDW*,\7B
MYQ6%P&';Q&*J0@HJ?ZB?M%_MU_LS_LOQ7%M\3/B'8R^+(H1+;_#WPHJ>)?'5
MVS,JQ1OHUG,L.C"?),-UXDOM$LI K;+AB-I_,?4H?VWO^"I&H-I<VEZW^R7^
MQQ+/&UV-3M[V#QK\3=)$I*K);SKIM]XG6[B/F):B/2_AUI[%6N9O&5_81K(_
M]F*'_@FK^SM_9FN+X=\;^._B9%%!=ZC\5?B?X!O/$&I3:XJ(]SJ/A[26N=4T
MWPM)/<--/:OIUI-JL,)6*\UZ_EC^T2_;6L_\%#= UV^&@_ OX2?$;XM:],I2
M$KID^AZ:)2I*N4CMM6UJ2.(E?.\_3M/C #D7"H-Y_0(^)?A5X30J8SPRR^7$
MO$^'E&A0\5/$.GE^&P&4XOVD:4<9PAP5*IB<OR_%2J\D\OS+B7,<TS##U7%T
M\!A*LG!?G-?P\\3?%6-.EXIYQA^%.$J]JN)\+^ ,5C*N*S7#2BI_4.,>.G'"
M8['X;E<J6.RSAO Y3@,3'FA4QV,I*,WZW\*OV"_V2OA%X.T[P9HOP.^'GB2&
MR!>Y\0_$+PGX=\=>+-9O'1%FOM5U[Q#I=W</+,4#+9V*6&DV:_N=.TZSMU6(
M>J:1\./V=OA'J$FNZ!X"^#'PQU5+4K-K&C>%O W@O45LY=\962_LK'3+M;>3
M+K@RB-_F7YN17Q\/"O\ P4'^,OFS:_XO\&_L^^';UMZ:/HJKJ/B.WM)%0"/S
M-.?4[HS!<N[W/B'3IA*64V\*E8UW=$_X)T?#F[N/[4^+'Q!^)'Q7UIY%DN)=
M2UI]%TV?')1K:U>^U4IG@;M<X4X"J>GX'GG'GBUQ/C<94Q6>8F6&S*O4JYAF
M'$7$><9UC<;[5\]=U<CP=6C@*U*O-ITZLN(TXQBHRP2NE3_9\GX'X#X?P^"H
MY5PSDF 66TJ5++Z659'EN!C@X4(J%)4<5[!5J4Z<8I>YAVV[OVK=V_9?'7[:
MG[-O@&.5;WXEZ+KE^@?9IOA0R^(YY'3 V276FI-IUL68A0UU>Q[OFV"0J17R
M)X@_;G\<_$F2>S^$WPN^)^IZ*#BXNO"7AF^O+YK4',LAUA;:X$3B([TCMK>Q
M<MM3[45?=7W=X-_9A^ '@'8WACX3>"[6XC"A+^_TB+7M45E"_.NIZ^=3O4<[
M069)URQ)XR<^Y0P0V\4<$$4<$,2".*&%%BBC11A4CCC"HB@<!54 #@#%?F7&
M/AO_ *_X-99Q)QEQEA,GJT94<PR3@S.*O!&"S123C)XK-<D4>-J$)TY2IU<)
M@>,<+@:].<HXG#5TX\OVF S7^S)^VPF P$\1&2E2Q&/H+,*E%JS7)0Q%\ODT
MU>,ZF!G4B_@G'6_Y6>#OVJ/V>_ ,WVKQW\+?CCH?B:-S+<:MX[\#K?LMWSYC
MQ+'?I#;R^8&\N=K)KE=K;[LX#-W+?M:_'[XPR-:?LU?L]:P=(F\Q(OB#\4?^
M)1HBI]T7%O:I=V.FRE%/F*D6OZG.>AT]\%3^C<D,4R-%*BRQN,/'*HD1AD'#
M)(&5AD X(..U/554!5  4 * ,!0!@!1T     P . *]?@3PXX#\,,EAP[X?<
M)Y'PCD\9^UJ83)<#2PKQ>(MRRQF98JTL9FF855K7S',L1B\=B)7E7Q%23<GC
MF6:YEG&(>*S3'8G'5[<JJ8BK*IR0Z4Z4'[E&DOLTJ484X[1BD?GS!J__  49
M\)1H][X4^!GQ1C,?F2Q:;J=QX?U.,_>:%))[OP_9/*@&Q2EO*C# &]AEB?\
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
M^$M3B#A_,.*ZU.:G&IGG$688N><Y'E\>50>2\/8Q3Q"G-U\ZE&-.G'\7K?\
MX(__ !$EM)K'5_V\OC%/8WMI+;WUAI/ARZTJ"X-S"(;B&7?\1+I)["6-I(IK
M.6WQ/"41V4*5;[?_ &=_^">?[,W[.6BV%GX?\%P^,/$$"Q37WB_Q\MOX@U2_
MU%85C>]CTZ2"/0-+V,#]BAT_2XS8Q$113L0\LGV-_;]I_P ^>N?^$_K7_P @
MT?V_:?\ /GKG_A/ZU_\ (-?)9_XF\8\1Y+5X<Q^-RS"9!B,=1S+%Y/P]PQPO
MPEEV/QV'A.GAL3F6%X5R;)J695,-&<_JSQ\<2J$I.=)0G:1]QPWX4<"\*YU'
MB/*LJQM;/Z>"JY=0SG/N(N)N*LRPF"Q$X3Q&'P&+XHSC.*V7PQ$H16(^HSP[
MKP7LZKG3]TKW_@[PEJJ>7JGACP_J* !0M[HVFW.T!2H"F6V8KA25&TC .!BG
MZ!X2\,>%8IX?#F@:3HD=S(TMPNFV,%H9W8YS*T2*T@'\*LQ1/X%6I?[?M/\
MGSUS_P )_6O_ )!H_M^T_P"?/7/_  G]:_\ D&OR"'!_"=/-:.>T^%^'H9YA
MO:K#YS#)<MCFM!5XN-=4LQCAEC*:K1;C54*R]I%N,[IV/T]X[&RHRPSQ>*>'
MGR\V'>(JNC+D^#FI<_LY<K5XWB[/5:FY16'_ &_:?\^>N?\ A/ZU_P#(-']O
MVG_/GKG_ (3^M?\ R#7T1RFY16'_ &_:?\^>N?\ A/ZU_P#(-']OVG_/GKG_
M (3^M?\ R#0!N45A_P!OVG_/GKG_ (3^M?\ R#1_;]I_SYZY_P"$_K7_ ,@T
M ;E%8?\ ;]I_SYZY_P"$_K7_ ,@T?V_:?\^>N?\ A/ZU_P#(- &Y16'_ &_:
M?\^>N?\ A/ZU_P#(-']OVG_/GKG_ (3^M?\ R#0!N45A_P!OVG_/GKG_ (3^
MM?\ R#1_;]I_SYZY_P"$_K7_ ,@T ;E%8?\ ;]I_SYZY_P"$_K7_ ,@T?V_:
M?\^>N?\ A/ZU_P#(- &Y16'_ &_:?\^>N?\ A/ZU_P#(-']OVG_/GKG_ (3^
MM?\ R#0!N45A_P!OVG_/GKG_ (3^M?\ R#1_;]I_SYZY_P"$_K7_ ,@T ;E%
M8?\ ;]I_SYZY_P"$_K7_ ,@T?V_:?\^>N?\ A/ZU_P#(- &Y16'_ &_:?\^>
MN?\ A/ZU_P#(-']OVG_/GKG_ (3^M?\ R#0!N45A_P!OVG_/GKG_ (3^M?\
MR#1_;]I_SYZY_P"$_K7_ ,@T ;E%8?\ ;]I_SYZY_P"$_K7_ ,@T?V_:?\^>
MN?\ A/ZU_P#(- &Y16'_ &_:?\^>N?\ A/ZU_P#(-']OVG_/GKG_ (3^M?\
MR#0!N45A_P!OVG_/GKG_ (3^M?\ R#1_;]I_SYZY_P"$_K7_ ,@T ;E%8?\
M;]I_SYZY_P"$_K7_ ,@T?V_:?\^>N?\ A/ZU_P#(- &Y16'_ &_:?\^>N?\
MA/ZU_P#(-']OVG_/GKG_ (3^M?\ R#0!N45A_P!OVG_/GKG_ (3^M?\ R#1_
M;]I_SYZY_P"$_K7_ ,@T ;E%8?\ ;]I_SYZY_P"$_K7_ ,@T?V_:?\^>N?\
MA/ZU_P#(- &Y16'_ &_:?\^>N?\ A/ZU_P#(-']OVG_/GKG_ (3^M?\ R#0!
MN45A_P!OVG_/GKG_ (3^M?\ R#1_;]I_SYZY_P"$_K7_ ,@T ;E%8?\ ;]I_
MSYZY_P"$_K7_ ,@T?V_:?\^>N?\ A/ZU_P#(- &Y16'_ ,)!:?\ /GKG_A/Z
MU_\ (-;,4BS1QRJ)%61%=5ECDAD4. P$D4JI+$X!PT<B*Z'*LH((H ?1110
M4444 %%%% !7Y@?M;_#K]K/QU\0/AWI^B?#'X3?&+X4:9^TYX \:^%;>_P#&
M&H^&+[PUX*3X"?$'P;XYT+XTZ-JO@;Q)I.L>!KCQUK4]T-:\(R^(-<O?#OBS
M_A';SP0\NE)JE]^G]& >HZ<CV/K0!^%?C#_@E'\2="_X(>:C_P $I/A/\1/"
M/BGQ]J?P8U3X8CXF_$6Z\0^$_!-CJ_B[Q]=_$?Q'J%GI^CZ+X[\16'@[0-3U
M._\ #_@3PLD-_?:;X8M="TZ\U5I+2YN7^UOVC?V2_%/Q^^#G[-<<-_X;\(?'
M?]E3XU?!#]HOX7W4^J:GK'@9_B#\)(;SPWX@\(Z]J]MH-AKLG@WXF_#3Q)X^
M^'VHZW:>'AJOAV/Q9;>*+;0=3O= CTF^^_J* /Q^^,W_  3#MOVNT_;J\4_M
M!:U8>%O&O[7GP#^$?[-WP_B\'W$WBE?V?O /P)U;Q-\3OASXBMM8OK#PVGC#
MQL?V@_%]_P#%;7;9=-TSP^MIX<\&>$+66[.GZOXAU?WC0_V9/BC\4_VIOV>_
MVI_VD/\ A -+U_\ 9:^"WQ3^'WPY\(_#G5-<UW2=7^*OQ\_X0;3OB_\ %VXU
M+6M'\/W.CZ-!X3^'EGX2^&_@^2TU34[+3_&GC._\3:O)=IHUM%^A-% !3652
M#E0>#U /\Z=2-T/T/\J /PW_ .")8']K?\%B1@ ?\/O_ -MPX P,GPQ\$06P
M."Q"JI8\[55<X4 ?N37X;_\ !$O_ )"__!8G_M-]^VY_ZC/P2K]R* "BBB@
MJI?6%EJ=I<Z?J-I:W]C>0R6UW97MO#=6EU;RJ4E@N;:X22"X@D0E9(IHWC=2
M0RD5;HIQE*$HSA)QE%J491;C*,HNZE%JS332:::::NA2C&<90G%2C).,HR2E
M&49*SC).Z::;33333LS\WOC=_P $K_V3_B]>2>(]!\+7_P $_'JS27MGXQ^#
MEVGA-XM0;YX[J?PY'%+X:D99OWLDMAIVE:A(20-1CR"/)K#_ ()):!XL>V_X
M:,_:F_:0^/\ ::>D4&GZ)K/B^ZT'P_'9P82WM;FTNK_Q7J,ICA58WFL]5T^2
M5@9,J3M'Z]45^NY=X]^,.59=0RO"<?9V\/@XN& Q&,EA<QS7+*<DE*CE.>9C
MAL5G64T&DDZ&6X_"TFE'W/=C;\AS'P#\'<TS&OFF+X!R18C%RC/'T,''%9;E
M69U(NZJYMD>78G"9+FU9._[_ #+ 8JM[TESVE*_R?\*/V&?V2O@JT$_P^^!'
M@'3]3MEB\K7M9TL^+O$4<D3*XGAUWQ;+K>I6LS.H<M9W%L WW55<*/JU8T15
M5!M5 %1%^5%50 JJBX4*   H 4#@ 4^BOSK.^(^(.)L9+,.(\]SC/\?*_-C<
MZS+&9IBG>S:>(QM:O5LVEISVTV/T;(^'.'N&<''+^',BR?(,!&W+@LERS!97
MA4XJR?U? T*%*Z[\ESC[KX>^ [[68?$=[X*\)7?B"VW?9M=NO#6B7&LV^_87
M$&J36#WT0<Q1%]DZ[O+CSG8N.OVCICCT/(_(\#IV%+17FUL5B<0J4:^(KUHT
M(>SH1JU9U%1IWO[.DIR:IPOKR0M&^MKZGI4<+AL/*K+#X>A0E7G[2O*E2A3E
M6J62]I5E"*=2=DESS;E9;AC/_P"LC^5)@9S@9]<<TM%8&X4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !117EOQ<^-/PS^!?AS3/%/Q0
M\567AC3=?\7^$OA[X8@DAO=1UKQ=X_\ 'NM6_A[P7X&\(>'M)MK[7/%/B[Q/
MK-U%9:/X?T/3[W4;G;<W1ACL;*]NK< ]2HKY ^!/[<'P)^._@J/QA9:IKOPV
MFM/@AX)_:(\3^&_C!X?U'X?:IX2^$?CS3-8U/1O'.J:OK$*>#=3\)Q1^'O$$
M&I>*?"WB;7O#NEW.B:C#J&I6KP;6]$^%G[3'P>^,6MKX:\&>([S_ (2*[\#Z
M-\4-$T'Q)X<\1>#M:\4?"[Q%>/I^A_$GPMI?BK2](O=?\%:A?HMDVM:=#*FF
MW=UIEMK,.FS:QHZ7X![W2-T/T/\ *EI&Z'Z'^5 'X<?\$2_^0O\ \%B?^TWW
M[;G_ *C/P2K]R*_#?_@B7_R%_P#@L3_VF^_;<_\ 49^"5?N10 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !7P-_P %$?V,)_VUO@]X'\,>$OBI??!'XY? _P"-7@#]IG]F
MGXKVNE6?B:Q\#_'?X3KK \*:GXF\&7\UO:^-?!M_I?B'7_#_ (J\-R7$#76D
MZQ-<P2_:+2*&?[YKR'XK?!_3_BI/\/\ 4V\8_$#P#XB^&?C,>-O"WB3X>>(+
M?1K\7TWA[7/"VI:1K^FZMI6O^&/%WA;5]%\07\.H^&O%.@:MIC7T6EZW9QV>
MNZ+I&IV0!_'1\5OVS_&OCK_@B3\=_P!D;XN?!=?@G^U5\&?V+_V)-6OM7\.Z
MRFN^ ?CU^P/\8_C?\(/ VM_&7X>>)++_ (FVB^'-9\(6_C#0/BS\//$T=I+X
M(U=M5T]]1N[)+^/2/W>_:]N->TS_ (*__P#!&N+PH&MH-6\!?\%,M$^(*V >
M%I?A9;_![X*:Q%;7Z6RX?1(/BAI/PQFA2Z"V,>L)I3(ZWAM4E^A?@'_P38^!
M7PN^%&M^ _BA;R_M!^*?B'^S)\-OV2OB[XV^(=O&(/&'P+^&W@_5?"VF?"KP
M_P"%+!H-'\!?#66X\3^,_$4_AW0LZIJ?B+Q9J>N^)?$?B'7([+4[7WOX9?LL
M> OAQXZT3XGW>O>._B5\1?"GPHM_@?X,\9_$[7[7Q%KO@[X5IJFE:UJ?A71+
MBQTC1(I)_%6K^'?"VI>.O%VLP:MXY\>7GA/PO)XL\2ZJGA_2XK< ^E_K7E'C
M_4OC99:A:I\,_"/PM\0Z.=/\R_NO'?Q$\8>#]1AU+SYP]O:6/ASX6^.[:YL1
M:K;R"[FU&UN3/)/#]A$<4<\WJ](P#*5/1@0?H1@_I0!_,+^Q[^SK_P %9? '
MC[_@H1J/[,WQW_8+\#>#_BK_ ,%'?VD?B[XF\*?%OX)?'?XM:[HOCOQCI_P\
M?5;#2/&WASXB_":VU#PY::-:>'K6T2[\'V=Z=1AU6\,AM[V"UM/MS_A7?_!?
M/_HZ/_@EQ_XB/^TQ_P#1(U^K7P^^%G@_X8S>/)_"5G>6DGQ(^(?B#XH>*3=Z
ME>:B+KQ=XGM-(L]6N[5;N20:?:30:'IZQ:=:[+2W:.1XHU::0GT6@#\8/^%=
M_P#!?/\ Z.C_ ."7'_B(_P"TQ_\ 1(T?\*[_ ."^?_1T?_!+C_Q$?]IC_P"B
M1K]GZ* /Q@_X5W_P7S_Z.C_X)<?^(C_M,?\ T2-'_"N_^"^?_1T?_!+C_P 1
M'_:8_P#HD:_9^B@#\8/^%=_\%\_^CH_^"7'_ (B/^TQ_]$C1_P *[_X+Y_\
M1T?_  2X_P#$1_VF/_HD:_9^B@#\8/\ A7?_  7S_P"CH_\ @EQ_XB/^TQ_]
M$C1_PKO_ (+Y_P#1T?\ P2X_\1'_ &F/_HD:_9^B@#\8/^%=_P#!?/\ Z.C_
M ."7'_B(_P"TQ_\ 1(T?\*[_ ."^?_1T?_!+C_Q$?]IC_P"B1K]GZ* /Q@_X
M5W_P7S_Z.C_X)<?^(C_M,?\ T2-8WB/PI_P7M\.>']=\07'[3_\ P2ZF@T/1
MM4UB:%/V2?VF$:6+2["XOI(E?_AHZ38TB6[*&V/MSNV.0%/[<5F:UI-EK^D:
MKH>I(\FGZQIM]I5]''*\$CV>HVDUE=)'-&1)$[03R*DL9#QL0ZD, : /PM^#
M_P#P_F^+_P )OAA\6-._:3_X)@:38?$[X=^"/B%9:3=_LF_M*7%WI=IXV\,:
M5XGMM.NKB']HZ.&XN+*#5([::>&-(II(FD1$#;%]&_X5W_P7S_Z.C_X)<?\
MB(_[3'_T2-?K?\/? OAWX7^ O!/PV\(V]Q:>%?A]X1\->"/#5K=WEQJ-U;>'
M_"6B6/A_1;>YU"[>2[OKB'3-.M8IKRYD>XNI4:>9VED=CV% 'XP?\*[_ ."^
M?_1T?_!+C_Q$?]IC_P"B1H_X5W_P7S_Z.C_X)<?^(C_M,?\ T2-?L_10!^,'
M_"N_^"^?_1T?_!+C_P 1'_:8_P#HD:/^%=_\%\_^CH_^"7'_ (B/^TQ_]$C7
M[/T4 ?C!_P *[_X+Y_\ 1T?_  2X_P#$1_VF/_HD:/\ A7?_  7S_P"CH_\
M@EQ_XB/^TQ_]$C7[/T4 ?C!_PKO_ (+Y_P#1T?\ P2X_\1'_ &F/_HD:/^%=
M_P#!?/\ Z.C_ ."7'_B(_P"TQ_\ 1(U^S]% 'XP?\*[_ ."^?_1T?_!+C_Q$
M?]IC_P"B1H_X5W_P7S_Z.C_X)<?^(C_M,?\ T2-?L_10!^,'_"N_^"^?_1T?
M_!+C_P 1'_:8_P#HD:\H^,6H_P#!>/X/^&_#OB/4OVD/^"8.K1>(OBM\%OA5
M;VMK^R?^TI;2Q7_QF^+'@[X4Z=J;22_M%S1O;Z+>^+X-8O+<^7)=V=C<6UO-
M'<RP$_OM7!?$3X;>%?BEH^C:%XOM;J[T_0?'GPX^)&FQV>H7>FR1^*?A5X[\
M/_$;P==236<D<D]K9^*/#.DW5YI\A:UU.UBEL+V.2UN)D8 _)W_A7?\ P7S/
M_-T?_!+C_P 1'_:8_P#HD:/^%=_\%\_^CH_^"7'_ (B/^TQ_]$C7[/\ 2B@#
M\8/^%=_\%\_^CH_^"7'_ (B/^TQ_]$C1_P *[_X+Y_\ 1T?_  2X_P#$1_VF
M/_HD:_9^B@#\8/\ A7?_  7S_P"CH_\ @EQ_XB/^TQ_]$C1_PKO_ (+Y_P#1
MT?\ P2X_\1'_ &F/_HD:_9^B@#\8/^%=_P#!?/\ Z.C_ ."7'_B(_P"TQ_\
M1(T?\*[_ ."^?_1T?_!+C_Q$?]IC_P"B1K]GZ* /Q@_X5W_P7S_Z.C_X)<?^
M(C_M,?\ T2-'_"N_^"^?_1T?_!+C_P 1'_:8_P#HD:_9^B@#\8/^%=_\%\_^
MCH_^"7'_ (B/^TQ_]$C1_P *[_X+Y_\ 1T?_  2X_P#$1_VF/_HD:_9^B@#\
M8/\ A7?_  7S_P"CH_\ @EQ_XB/^TQ_]$C7E>MWW_!>/1/C1\.?@S-^TC_P3
M EU+XB_#CXN_$6RUA?V3OVE%M+&T^$GB'X-^']0TR:U_X:+>::ZU:3XPV%W:
MSK-#!;0Z+?),)9KJU4?OG7":I\./"VK_ !(\'?%:^M;I_&/@3P?\0/ WAV\2
M_NHK.W\/?$W5?AYK/BRWN=,1Q9WMQ=WWPO\ ",EI>W$;W&G1VEW#:/''J5X)
M #\F_P#A7?\ P7S_ .CH_P#@EQ_XB/\ M,?_ $2-'_"N_P#@OG_T='_P2X_\
M1'_:8_\ HD:_9^B@#\8/^%=_\%\_^CH_^"7'_B(_[3'_ -$C1_PKO_@OG_T=
M'_P2X_\ $1_VF/\ Z)&OV?HH _&#_A7?_!?/_HZ/_@EQ_P"(C_M,?_1(T?\
M"N_^"^?_ $='_P $N/\ Q$?]IC_Z)&OV?HH _&#_ (5W_P %\_\ HZ/_ ()<
M?^(C_M,?_1(T?\*[_P""^?\ T='_ ,$N/_$1_P!IC_Z)&OV?HH _&#_A7?\
MP7S_ .CH_P#@EQ_XB/\ M,?_ $2-'_"N_P#@OG_T='_P2X_\1'_:8_\ HD:_
M9^B@#\8/^%=_\%\_^CH_^"7'_B(_[3'_ -$C1_PKO_@OG_T='_P2X_\ $1_V
MF/\ Z)&OV?HH _&#_A7?_!?/_HZ/_@EQ_P"(C_M,?_1(UY%X!UC_ (+P^/?B
M#\<?A_:?M'_\$PK&\^"'C'PCX/U.^G_9/_:4EAUJX\6_"SP5\4;>]LH8_P!H
MM'M(+:R\:6^EO%/+-++<V%Q<_N8988S^_E>>^%/AAX2\%^+OB=XWT&TNX/$'
MQ>\0^'_%'C:XGU&[N[>]U?PQX&\.?#O29;*SGD>WTN&+PQX5T:VFM[)(H;BZ
MAFOIE:ZN9G8 _*+_ (5W_P %\_\ HZ/_ ()<?^(C_M,?_1(T?\*[_P""^?\
MT='_ ,$N/_$1_P!IC_Z)&OV?HH _&#_A7?\ P7S_ .CH_P#@EQ_XB/\ M,?_
M $2-'_"N_P#@OG_T='_P2X_\1'_:8_\ HD:_9^B@#\8/^%=_\%\_^CH_^"7'
M_B(_[3'_ -$C1_PKO_@OG_T='_P2X_\ $1_VF/\ Z)&OV?HH _&#_A7?_!?/
M_HZ/_@EQ_P"(C_M,?_1(T?\ "N_^"^?_ $='_P $N/\ Q$?]IC_Z)&OV?HH
M_&#_ (5W_P %\_\ HZ/_ ()<?^(C_M,?_1(T?\*[_P""^?\ T='_ ,$N/_$1
M_P!IC_Z)&OV?HH _&#_A7?\ P7S_ .CH_P#@EQ_XB/\ M,?_ $2-'_"N_P#@
MOG_T='_P2X_\1'_:8_\ HD:_9^B@#\7S\//^"^0P6_:D_P""7 !95)'[(W[3
M!(W,%X'_  TB,GG@$@$]649(^_\ ]BSXM>.OCG^RO\#/BI\3X_"Z?$?Q=X T
MN[\>/X)L=3TOP?=>+[&:[T;Q%J'A?2M9O]4U;2M U+5=,NM1TG2]3U/4K[3;
M*ZALKK4+V:![F3Z@(##!Z94_BK!A^H%>>?"?X6^$/@K\/?#'PP\!6EY8>$?"
M%C+IVB6E_J5YJ]W!:S7UWJ,BSZC?R2WETQNKZX823R,X5EC!VHH !Z)1110
M4444 %%%% !1110 4444 %%%13)YL4D6^2/S$:/S(FV2IO&W=&^"4=<Y5@"5
M8 @<4 2 @C(/'KVQUR#W&.XXI P)(&>.Y4@'OP2 &X[J37X=?\$<?$7Q3^)/
MP3_X*+:)KOQA^(NO>*/#'_!4;]O_ .$'@'XA_$/Q%J'Q0\4^#/"W@7Q7H7@W
MX?6]K-XPN+R"_L_!.EVEB='T.:.#0FDM/+ET\6]S=1R\?#^S-XT_9*_X*@_L
M1:+^S!\=_P!I_P ;^%?C5X,_:7\0?MV_#_XX?M#_ !._: \*:W\.O G@+2(/
MA_\ '2\TWXE^(==@^&GQ!O/CMXD\(^#=#E\!V_A?0]?M-1US1]#\-V7AWPWX
MDMH@#]]\_P"/MQ[]/\^QI 01D<CUYP?<>H]",@]C7R=X-DNOB5^T=\:O%7V_
M4(_#/PF\-^'?V??#8LM6DBMQXP\00:5\4OC!K-I% ?):XBL]8^#_ (6MKYED
MN=+U3PGXCLXI(I'O(J^$O^"'?C#QSXR_91^-=_X^\?\ C[XDZYHO[=_[<W@^
MS\4?$GQAK?CGQ6_AWP3\>O$7ACPMIEWX@U^ZNKV>VT;0M,L=-L;=#!9VMM L
M5I:6\6(P ?L\"#G!SCOV_ ]#@\'!X/!YI:_%S_@F3XH\;ZM^V1_P62\*>*?B
M'\1/'>B?#O\ ;0^'?AOP):>/_&NN^,$\&^&=1_9P\ >+)O"_A6/5[J6V\/>&
MH-=U_5;NRT32+:SLK?[0 R32J9W_ &CH **** "BBB@ HHHH *0D#J<=OQ/0
M>Y/8=Z6OSJ_X*Y:YXJ\)_P#!,?\ ;R\:^!O&OC?X=^-/ ?[*7QQ\=^$O&7P\
M\4ZIX,\6:#XF\'> -;\0:'?Z9XAT66#4[+RM2L+<W2VEQ;RW5IYUKY\(F,B@
M'Z*9&,_T.?RZY]L9]J 01D9^A!!'U! (_$"OSV^&GPCOOVF?V"?V5?!?BKXJ
M_%GP?H/B;X#_  !UKXFZO\-O'_B;P)\2O'VD'X2^';W4?#,GQ;\/:G9?$+PG
M:^)-:N+34/%OB'PEKVE>,-:L+2[T1/$%C:ZYJTTWRQ_P33\)_$'X!?M _P#!
M2[X/1?%OXH?$3]A?X'?$#X+:;^SQKWQQ^)GB'XM>(/AQXZOOA#+XW_:D^&6C
M?%;QQJ6K>+?$'P]^&E_K/@%+:WU[6-6/A'Q#>>)?"\FHRZYH_B>@#]L"0.3Q
MSCD'D]@/7/08SD\#FC(QG^AS^77/MC/M7X*_\%!-;^(_A[_@B=^VW^T'H'CO
MXF?"_P"*GQ ^$GQ2_::TCQ+X&\<Z_P"#_&?A(>*YK+4?AKX=MM;TF>VU/1H_
M#7PI@\#>$=9TS39K);F?3=3+-#<WD\Q_2+4?@Q)^T9^R_P#"+X?:_P#$[XI^
M!?"NM>"/AK?_ !#O/A;X[\1_#SXA>-M @\#Z?/<^$4^*OAC4M.\?>#=.UW5I
MK*]\4:UX.UO1_%FKZ=8W.@Q:]86.MZL\X!]D @C(S]"""/J" 1^(%+7XN_\
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
MIQJ5(TTZDH1;DH)RM8_2FBORB_X?/?L-?]#=X[_\-OK_ /\ %4?\/GOV&O\
MH;O'?_AM]?\ _BJ^Y_XEZ\<_^C2^('_B+YM_\R_U9^5_AO\ B87P-_Z.QP#_
M .)-E?\ \T_U9^5_U=HK\HO^'SW[#7_0W>.__#;Z_P#_ !5 _P""SW[#9('_
M  EWCOG_ *IOK_\ \51_Q+UXY_\ 1I?$#_Q%\V_^9?ZL_*Y_Q,+X&_\ 1V.
M?_$FRO\ ^:?ZL_*_ZNT$@<GC_P"N< ?4G@#N>*\^^%/Q.\*?&;X=>$/BEX&N
M;N\\)>.-%MM?T"YOK&;3;R;3KMI%A>XL;C]]:RDQ.&BD^9< ]"*_-/\ ;'^/
M'C3Q7^WK^Q#_ ,$\?!OBS6_ 7A+XT^$OCE^T=^T;XF\(:O>>&_'^L_"/X$6>
MB:;X3^$G@_Q5IN-5\)VGQ2^)7B6R?XA>)O#UWHWBV#P#X/U;PUX9US1KSQ9/
MJME^2XW!8O+L9B\OQ^&K8/'8'$U\'C<)B*<J6(PN+PM65#$8>O2FE.G6HUH3
MIU:<DI0G&46DTS]:P>,PN8X/"YA@<12Q>"QV&H8S!XJA.-6AB<+B:4:V'Q%&
MI!N%2E6HSA4ISBW&<)1E%M-,_6P,#TSZ<JR_S S]1Q2U\F:K^REX7TOXB?!C
MXC?#/Q-XS^&2_"[QCJ^O>*_!?ASQOXOM?AW\7- USP-XT\(W.C_$CP9+K%UH
M'B.]T/5O%-CX[\,^(+^R_MG2O$OARSDDU*2QN;R!_!/^'G/PEB\'?!/XZ7/@
MWQHG[)O[07Q:T3X+_#G]I*&31+GPU'XB\9>,-0\ ?#/QOXR\)K>)XI\)_!GX
MK^-+"V\.> _B5<1WL;W7B;P=J7BO0?"OA[Q#'K5KS'2?I=17YJ?'3_@IG\,?
M@GHG[6'CQ?AW\0OB%\+OV&-=\.>&OVHO&'@I_"S7W@W6M>\%>#_B+J=GX3\+
MZYK>DWGCP?#[P/\ $#P;XG^(D]KJ&C0Z38:O<V'A]_%/B+0]<T2PUO&?[?\
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
MB;X8?$7P;K_]@ZIK.B7&H>%O'O@[Q'HC:CHVJW^D:M!9P:KI=W/8WMNY^F:
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
M;VRU!_%'PA\9Z3X8\$^*]*\0>")-4\6>&-4M/%?AN3P3J6FSZ#K"^(_LI?\
M!.#XE?L=_M,_L-WGA"ST[QO\$/V3?^"9'CW]C77?&ESXHT_1_%OB_P"*?C'X
MF?!_XG7/BW3O ]W#<"R\,:E?_#GQ&L\<_B);K2KWQ+I-E;VUYINFWFHO^Z-%
M 'YP_P#!*[]G?XM?LK?LF6GP7^,^B:%H_C+3OC;^T_\ $#/AKQ3;>+=&NM"^
M-W[1OQ/^-7AH0ZC#I^E2QWVF:%X]L-%UJVGL(UCUG3KY[*:[T^2VN'_1ZBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***3< <<Y]<''/
M^UC;GVSF@!:*0L!USSZ*Q_D#C\:6@ HHZ=:0,#QSZ<JP_+(&?PS0 M%-WC.,
M-_WP^/SVX_6E!!Z$'DC@YY!P1]0>".QH 6BC_/\ G_/\C02!R>/_ *YP!]2>
M .YXH **:&!XY!]"I7/TW 9^HS3J "BFA@3@9/&00K%2.O#8VGVP>>U.H **
M** "BBB@ HHI"<8Z\G' )_/ .!QU.![\B@!:*** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ Z5\7>,OV]_V=_ OBWQ)X*\0:WXC@UWPIK5]H.L0V_A34KJ"+4=
M.E,-S'#<QL([B-7&%E0;7'(K[1KD;OP!X&O[JXO;[P;X4O+R[F>XNKJZ\.:+
M<W-Q/(=TDT\\UC)--+(W+R2.SN>68F@#XX_X>1?LP?\ 0P>*?_",U;_XJC_A
MY%^S!_T,'BG_ ,(S5O\ XJOK_P#X5K\//^A%\&_^$MH'_P KJ/\ A6OP\_Z$
M7P;_ .$MH'_RNH ^0/\ AY%^S!_T,'BG_P (S5O_ (JE'_!2']F D >(/%.2
M0/\ D3-5[_\  J^OO^%:_#S_ *$7P;_X2V@?_*ZC_A6OP\_Z$7P;_P"$MH'_
M ,KJ )_ /CC0/B3X-\.>._"\UQ<>'_%.EV^L:1/=6LEE<2V5UN\IYK6;,L#G
M8V8W^9>_6OR#_P""J/PG_:$O?B=^QU\4/V)?B!J7P\_:RL?B]XU/A_2M:\:>
M-8?@S\=O#/@']GGXO?$G4/V??C)X!A\6:?X#N?#/Q/?PE!X;L_B#>Z#<>)_A
MKJMU:>)M U"R>&[F'[0V5C9:;:06&G6EK865K&L-M9V=O#:VMO$N=L4%O;I'
M##&N3M2-%49. *^2_C[X'^)GBGX[?LA^*_!_@RRU_P (_"/XF^/O&7Q U>Y\
M7Z3H5Y8:3XJ^!'Q4^%.GP:)H=[:7$_B"_CUSQOI5_?1/>Z/;6^BP7T]O<W^H
M1P:9. ?"1_:D^&7[=G@#]A+XN^%+#Q?X(UR+]N#3?@]\<?@[KNO>(_"?Q"^#
M_P 4?"/PL^-K_%']G[XQZ%H>J:)+>7_A/Q;HFCWEQI.OV5QX=\56%MX5\:Z?
M8WFDZEHUS7O7_!3F3]HOXC? #QA^S+^QOXVU3X=_M._%?X:_$3Q9X0^(6C9^
MW> ]#^%FDVOB!;A+H7,"Z=>_$SX@3^ ?@KI][(3<Z=IOC[Q7XMTZ"]E\%W-L
MW(?&G_@G->:E^WM\!/VV/@3XJM? <,_Q*T'6/VS_ (5R)#;^&/CW9> ?A9\3
M/!WP:^+5MY>GW4EC\;/A5J'C"'PM)J\;V+>./A7JUSH.NZD9/!_AZUO?8? W
M[-I^+GQ5^._Q5_:K^!_@JXUV_P#%FE>"_@HUYXJL/B"FG? +P?HUO_PC=NXM
M-*T0^&?$'B#QWJGQ \<^*]&"ZI%%+XDT738M?UB/0;9[0 YOX/\ [3'Q*_;J
M_P""7%E^T;^RU=:/X._:#^-?[*_C.^^&T&NQ+_8_PV_:B@\&^(?"MWX7\0PZ
MO#+$(OAK\>-)U+PWK$>J6DD"'0I&O[22V\V%OSN_85_:4_9^_:3U?X(?L\^(
M_$7Q[_8H_P""DW[/FO\ P_\ &?[0'[-7QU\;^._#?Q2^.Z>"M/GT_P"(M]JN
MHZUK%YX8_:L^&GCMX-6\<:'XKT2XU34[.?2]"\37%IX?T>"X@O/??V4?V3_V
MO?V49/\ @I=\'O@]X2^&O@3X$_%[Q_\ $_X[?L!ZA<_$EM5G^$WQ3^)_@.R_
MX2[P;XW\':?X;B7PI\*KOXWV,OQ"\*6/A+4O$%QHVA:_XCTZ]LH-0DM$;U7]
MIW]D_P"(O[:/B/\ 8[O?B#\(O WPH^(W[,G[2?P9_:(U'X]:-XSTWQ5J.@6G
MPNUU?$7B_P"&_P #-5LM(T;X@ZAHOQB>TB\$>)8/'NC^!_#UMX)U:]U_4=%U
MWQ1HFCZ/( ?+_P"Q-\/-#^)W_!2__@M%X+\;ZIX_USPI\(/C)^RCHGPH\.R_
M%OXMVNC_  UTSX@_LHZ%XP\9VO@+3[#QU:6WA%/$/BJ_O?$-^V@1Z>XU6Y:Y
MMGMS!:"W]S_8G^-GQ4^'/[??[9W_  3B^)GQ(\4_&;P;\)OAU\&OVG_V:_B%
M\0M1?Q%\5=%^$OQGO?$'A[Q7\'_B-XSEMK>]\=_\*X\?Z"[?#WQCXBDU7QSJ
M?@O78=-\9>(/$&IZ-%J4E3]FOX#_ +67P&_;=_X*6_M"7?P4\*^(/!7[9OQ)
M^ WC#X9Q6WQM\/6.K:!:?!OX"Z;\)+^+QY9R^%+K^RSKNL:4-6T__A'9/%;V
M>E7JQWD+WMFT-WT_@K]DG]I?X/W7[;_[9$=Q\.OBM_P4#_:M\.^&?"'@KPSI
M7B#4/"7P)^!O@+X7Z/J^@?!+X9>&O%7B[0=4\1>(-+\+ZGKVL?$OXG^.M0\'
MZ->_$SQG?RQ:7X%\)Z1::;90@'BO[0O[57QR^%?_  4 _9._:!D\4ZC:?L#>
M,OC5XZ_X)H^-/"YL;[^QO^%P_$>+1M3\!_M'7-V'CLQID'[1O@%OV6K6_P!5
M@2Q\/QP^(=2L-5DA\>K;O[E^VQ^T#XSU']N7_@GQ^P!X2\1ZYX'\*_M+C]H+
MXR_'KQ7X3U*\T'QIJ'PI_9L\':7J^E_";POXEL0FH>&H?BGX_P#$>C6_CGQ)
MX>O]*\4V7@/PSKF@:!J^D7GBQ=5M,#]KS_@EI\&/C!_P3^^+'P#^&/P4\/Z7
M\9-:^#;V/PI\4:AK]AH?BWPY\==&@M?$/P[^)'B'XBV45X@US1OBCIVD^-/&
M/B?3;.[U#6YDUNYM(;J\U5DFU_%?[*7[3'QLT?\ 8&_:Q\9VOPW^'_\ P4,_
M8L.O+KNCIXHO_$/P.^,&A_%3P1I_P\_:0^'5SXET+0;?6_#?AOXH6FG6'C?X
M=>+)?"&NZK\+?&VB:%)J7A3Q1I2:O;:@ <5_P4<\8S_\$Z=&_9S_ &L_@C>Z
MAX7\*V/[4_P.^"O[1OPJ75=;U+P#\6/@G^T%XP/PYUW5/^$6OKO4+72OBY\.
MO%>N^'?B%X&\?:+_ &9K5U%I/B#P;XFN-=\.>)IK*V^@_P#@K+^V!XR_8C_8
M3^+WQP^&-OH]U\7)=0^'OPH^$7_"0P?:M T_XF?&GXC>&_A5X6\3ZY9;7&HZ
M1X+N?$T_C:_T=QLUNW\.MHSNB7[.OQQK7C;4_P#@J5^T7X9_91^.?PN\7?LA
M^'_V,?CG\-?VE?BC\$OB_?:)>?%7]JO4OAG=W>L_!6_^$5_X5NM4^'/BG]D[
M3OB,EMXK^(7Q \.^)/$GBG6/$/A/PU\.=9\*?#RTUN^U'4OTK_;S_8]\)?MW
M_LG_ !;_ &7?%WB+5?!<'Q#TS1[SPWX]T&".YUKX?_$3P5XFT?QY\-O'NG6;
MS6B:A+X4\>>'-!UJZT@WEC'KFG6U]HLE[9Q:@US$ <WJW["_@O5_@9K/PS_X
M6A\;K?XJ:QX#U'PO/^U19_%3QII/[0O_  F%[HEQILOQ)@\9Z-K5C%INI_VW
M-)X@A\(:3I]E\-[&,KX:TWP;9^%H8-'BNZI^U#-X<\8>-O@#\,? &O?M!?&3
M]G[X.?#CXC?&3P_X0U_PSX;72;3QW;>)K/P'X8TS4_&6HV=GJ?Q*^)"?#[QA
MK/A7PI>W.E:;!I-C87_C'Q;X6MO$7AV?5:/PC\<_MXW7AO2O OQF^!?PCTCX
MF:;I=MI?B+XU^"_BY'K7P2\1:I;P"UO/&_ASX?WGAO2/BUIO]JR12:\GPUUF
MS@@TJYO(_#)^)NH6<$GB<>-^'OV:?CA^SQ^WO^TG^U+\-=#T7XQ_#S]LSX1_
M /1OB?X?OO%NG>!O&7@+XX_LSZ)XE\%^#O$^E)J>GR^'M0^%_P 1O GB2"S\
M7PZ;<MXJ\&^)_#-I?:/X;\5:;XAN8]% +%G_ ,%5_@AXR'[!T_P9\#_$WXQ:
M=_P4,T+XTZO\$M2\.0>#M M])U+X&?#;6?'WC3P=\0H/&/BS0[[PKXNL+_1;
M[P5J5E-;3:3X?\2Z;KD&MZW:)I06]\GN_P#@L;X4T7X'_$/X]^)_V8OCAH'@
MW]F[]HW6?V9_VRC<:]\(KF?]G/QIH?C7P=X+U'6(GM_')B^,OABV'Q#\&>,;
MC4/A>-3EMO!6K2WEQ"GB*QF\,/XQ\(?^"7_QA_9O\=_\$>-,\%CPIX[\&?L2
M>(?VW/'G[0_B]_$R^&KG4O&W[9G@[QX-9_X5KX4OM,NKK5] T#XD?$+5YX(=
M5U'0+JU\#6&FM$NIZ\]QIR>9?%;_ ()Q?M>^.?V$?^"O?[.FE>#?AY;_ !#_
M &Y?VZ/'_P"T1\%WU#XIVD7ANS^'_C?7?@1J-JGCS5[?PQ=77A[Q'IMO\(=7
M:_TC2M)\2VIFUC1H;+5[M3J4^G@'Z6?&+_@H/JO@3]H7XQ?LM?"O]DWX]_M"
M_&?X0_ WX7?'ZXT7P%JWP<\-Z'XI\$_$WQ;XY\*VR:'XG^(OQ'\,:;:ZSI5S
M\/?$$1T37/[-UOQ!J7V&P\,Z7JEH]_J^GW_A5_P4H^"?[0WA#]F76/V>]-\1
M?$'QA^U?\-/B/\6?A[\/M8%GX)UKPAX+^#6MZ-X,^+NI?%^[U!]3@\"R?#WX
MF>(=&^$VLV5G;^);^^^(E_\ V9H=IJ>CZ;KFNZ5\?Z'XE^)>E?\ !;7]J+5/
M#'PF;QA=ZC_P3'_8NDU31?\ A.O#OAR\T+6W^/W[5<NDV<]]JMM+HVI:*]Y_
M:-KKVKZ7?7.H:<EC;RZ-X?\ $C7SP6>9\%O^"9OQB_8X^)/[%/QZ^%>H>%_B
MWXK^$_PI_:K^"?[4G@4ZQ)X3'BOP[^U_\?9?VLO$GBKX&:OXB1=(BO\ X9_'
MVXN]/T_0/'<NB-XQ^%FH--/K^C^*=#M-,U@ ^Q/"O_!37X*>,_"?AY[#2]8\
M*_%O6_VK/&?[#NH_!WXF:KX=\$ZGX-_:G^'_ (7\4>.=?^&OBSQG]OUOP8MO
MJW@GPI-XL^'?B'PUJ'B:U^)NB^(_!;>#+34[[Q&EC9\#^TE^T!\.KS_AA"^_
M:2_9Y^/GA#Q?XP_X*/:!\&OA)H.C_$:U\.6W@[XV:%I?QCM/!7Q$\?WW@7X@
MZ)9?$+X-^+O OAKQ7XKT'P]/8^,=(URSU7P[%XM\):7K436NG>;+^P1KFE>'
M/VB;/XK?LY?!O]K#P=^WG^U_XZ^/?[3/P<\6Z[I%O;?#;P.WPH\-> O@_:_#
MB_\ %6GVVA>*_B%X2E^&7@W4=?U'[5X(FL_$_C#Q5K7@_P 801>$_#\FM>6:
MS_P3Y_:KTCX4?\$^OAOI>NR_$[1?V5/^"GL7[6MG9_$WXO7WB'Q9\,/V4= T
M_P"-WA_X;_ FW^(OBJUUSQ%\6_'/P^\-?%+0=,T_5/$&I1VG]FZ'>>'7\8ZC
M:Z3HFKZH ?0GP=_X**>,[GXK_P#!2^7]HCP)HGPG^ O["WQ"\/\ @R/Q9;>-
M?#?B*X@TL?!'X<_%/[=K<%K%9W^H>(O'/_"Q[.33["R)TGP^8=-\*R7MWK2:
MG?W'NOP6_P""AWPJ^+W[5'B#]D:+339_$2U^#D7QY\)^(_"WC'P5\4_AKXM\
M Q>*(/!OB#26\;> -5U/3_#'Q-\':]>:<WB'X?Z\D4]SH>JV'B+PKK'B;2H]
M5FTSXE^)O_!.+X\?%;5?^"P/P?N;WPEX0^&?[?WB/X=?&+X.?'>P\7W.H>(_
MA_\ $?P-\!_@YX"\,:+XB^%2>&[>XN$\+?%?X-Z?XPU+4H_%TFE>(/!-];:5
M;6J:S-?VUE]V_L>^)O\ @H/XIMQ%^VE\'_V;_@Q-X3T5-%N[CX$_%WQ-\7(O
MC%XR LXKWQWING:]\-_ *_"/P-MAOKK2_".HZGX[\6W]UJEM#J.IZ):>'W7Q
M$ ?>%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 8FJ>&O#NN7&G7>M:%H^KW.CSRW6D7&IZ997\^E74\?E3
M7.F37<$LNGW$L7[N6>S>&65/DD9E %;=%% !1110 4444 >/Z9\ O@]HWQAU
M_P"/^F> - LOC-XJ\,Z;X+\1_$>&*Z'BG6O".BW-U?:+X8U&_:Z876@:-?W^
MH7^DZ3)$;'3+_4+^]L8(+J]NIIO8*** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "DW ''.?7!QS_M8VY]LYI:_%/_@JC\)?
MV@;_ .)W['/Q0_8F\?ZC\.OVM+#XO>-CX=T_6?&7C.'X-_'3PUX"_9X^+OQ)
MO_V??C-X#A\5Z?X$N_"OQ0?PE;^&[;Q_>Z%<^)_AKJEU:>)O#VH6,D-Y-0!^
MU98#KGGT5F_/:#C\:6OQ2/[4?PQ_;M\ _L)_%SPOIOBWP1K]O^W%IGP=^.?P
M<U_7?$/A;XA?!WXI^$?A5\;9/BA^S_\ &'0]$U/1)+V]\*>+-%TB^FTO7K*X
M\.^+-.MO"GC:PL+O2M1T>X'O?_!3EOVBOB3\ ?%_[,?['/C;5/AU^TW\6/AK
M\1/%GA+XAZ*<7W@+0_A9I-KK\<ZW0N8%TZ\^)OQ"G\ _!6PO9";G3]*\>>+O
M%NFPWLW@NYMB ?IETZT@8$XYX]58?D2 #^&<5^;?P=_:8^)?[=G_  2WLOVC
M/V7+O1_!G[0?QK_98\:7GPXBUV)?['^&O[4<'@WQ#X3O/#'B"#5H98Q%\-?C
MQI.I^'-7CU2TD@3^PG:_LY+?S8&_.[]A7]I/]G[]I#6?@=^SMXGUSX\_L2_\
M%*/V?->^'_C/X^?LV?'3QMXY\-_$_P"/*^"M/FL/B)?ZEJVL:Q>>%_VL?AIX
M[>#5O'&B>*=(NM6U6TGTK0_%%Q9Z#I%M.EV ?T:;QG&&_P"^'Q^>W'ZTH(/0
M@\D<'/(."/J#P1V-?S^?L3?#G0/B;_P4P_X+1^#/&VH>.M<\*?"'XR?LH:)\
M*O#TWQ6^*]MH_P -=,^('[*.A>+_ !E;> M/L/'%I;>$%\0^*K^]\07[>'X]
M/D_M6Y-S;O;M!:"W]T_8G^-?Q4^''[?O[9__  3C^)7Q'\5?&;P7\*/AU\&O
MVH/V:_B!\0]2E\2?%70_A/\ &>]\0>'?%GP>^(OC6:W@OO'B?#GQ_H+O\//&
M'B275?'.H^"]=BTSQCX@\0ZCHT.I. ?LA_G_ #_G^1H) Y/'_P!<X ^I/ '<
M\5^$'[0O[5'QR^%?[?W[)W[0DGBK4K3]@?QC\:_'7_!-#QKX6-C>G1?^%N?$
MF+1=2\"?M(7-V'CM%TVW_:0\ ']ENVO]5@2Q\/PP:_J>GZK)#X^%N_N7[;/[
M0'C/4_VY?^"?'_!/_P )^(M=\#^$_P!I=?V@_C-\>O%7A/4KS0/&FI?"K]FS
MP;I>KZ5\)?#'B:Q":AX:M_BE\0/$>CP>//$?AV_TKQ3:> _#&M>'M"U?2;KQ
M;_:EJ ?K6&!XY!]"I7/TW 9^HS3J_%;_ (*/>,)O^"=.B_LZ?M:? ^\O_"GA
M>P_:G^!OP6_:,^%46IZSJ'@+XM?!+]H'QBWPYU[47\*WEU?V>F?%OX=^*M=\
M/?$+P+X_T8:;KEPFE:_X.\27.N>'/$]Q8P?9_P#P46T[]J36?V(_VBK#]BZ:
M:/\ :9E\!S'X8P66L6GAO6-6NK/7-(N/%/A_PMXDOF6T\,>-O$_@>W\4>'_
MGB>XF@B\-^,-4T/6FN;9K%+F( ^V0P/3/XJR_P P,CW''3U%+7X7_L1_M,_L
MB_M@?$WP)>?L_P#B7XQ_LU_M)_LT+XO/[1?[ /Q8U[QM\-?B?,NO?#S6O"WD
M_%+X4^--2NM,^(]YX3\6ZUX=UGP[\:]+DUJV@>\N3K>MP7NO+IT/<_LL_P#!
M3;Q9XI_9Y^/O[0W[4'PUA\ :9X)_;+^*7[+?PX\+> ?$OAWQQJ_BWQKHO[1L
MW[,OPX^$?A>"$:'-KOC/Q+X\ATFR_P"$EUB71_#NH7_B.ZUDSZ)X/TN2\L@#
M]EZ/\^O\J^ [[_@H-\+OAQ\2OC3\(_VD-'U/X!^,?@K^S?K'[8.HZAK6HV'B
M[P+XO_9J\+W]_HOCOX@^#/%?AJ,S7NI_#'Q!8PZ'\1? ^J:%I/B?1[K7_"5_
MHEMXET'Q-IFKR<Q\4OVF?$OC+PE\4/A;XE^ /QS^&5M\0OV.OB[\;/A]\3O+
M-QX4M-/T3PXFGZCX#\=^,? VI)=?!_XX:?\ \)3X?\0:1X5?5+Q-4TR/6+KP
MSXQN=6\,:O8V8!^D8.0#SR,\@@\^H."#[$ CO17Y%_\ !*WXR>,M4_8._P""
M9OA#3?!7B7XD7&N_L,?LZ>*/BO\ %&Y\6:/%IG@75-0^$_@2[T^V\5W.OWDO
MB/Q1XR\<C4=3URSL-"AUB^M[33;G4_%]SH$.M>&KC7OIGX1?ME6WQUUWPKJ/
MPI^&>M^-O@YXC^+GQ;^"NJ_%?0_%7A2X?X;^,_@T/'VF^)1\4_A_+/;^*_"%
MAJ7B_P  77A#0HA_:>N1:GK_ (8N/%.B>&+35XG !]MTTL!US] K,>?4*"1T
M/45^?W[9?[0>O>#OC!^Q+^R?X%U.;0?&_P"V?\;/%WAS5/$MM));:CX7^"7P
M*^%?B;XW?&K4O#][&ZO9^)O$FG>'O#'PLT;4(0+W03\1KSQ5IDL.J^'K&1?A
M'_@H'^T)K'['?[8_P\^*?[6/PP^*OC3_ ()=7W[/&D>!E^('POTSQ-XR\"?L
MM_M$67Q"\1ZIXI^)W[0WPY\&2MXGO/!OB?X?/X"\/>#/B;)9Z_;_  [OM"UJ
MPTC2K2_\6Z_?W8!^^!8 9Y_!6)_( FC(QGIGID$$^V",YXZ8R>U?S5?\%/M0
MT+PE_P $)_VTOCI^SA^U!XT^*_AW5!<_'']G;X\^$_CAXQ\2^*/"/A_QG\7O
MAU!IWAOPA\6M'\2)XEDT3P3#-KG@G1=/N-;N;K2?"]O;^$];-Q<V6I1R?5_Q
M;^*FM>-_^"A/[(W_  3%\$>)O$'PX^%%C^R+X_\ VV?C\/"FNZYI/BOXE^#/
M#/C7PO\ ![X6_!FS\=6NJ#Q=X>\*:KX^\0:[XX^)]UIFJV_B/QGI?AC1O",V
MO6_A[6_%MCK8!^TP8'IGZ%64_DP!Q[].1ZB@D 9.?P!)_  $GZ &OE63]E3P
MOHOQ;^$/Q1^&_B7QK\.;/X>WWC8>+/AMX;\8^)+;X6_$W3/&'@[7-#@N?%O@
M*74+KP]>^+/"NOWUCKWAGQ0EI;:E:1R:[97<]ZNH6AL=/]JWX8?"KXG?"C6;
M7XY:U\3K7X1>'K:]\0>-O#_PQ\7_ !6\&ZAXHL+2SD2*TU2Z^!=WI?Q9URQL
M'D>_MO"WA;58XM9U-+,ZEIFL+:6EJ@!]+Y&,]O<$'GH,'!SSTQF@,#ZC_>5E
M_P#0@./?I7\S/@/7OVA/B;_P0@^->M_L.?M1^(/CKXRL/'?Q@U[X*^)?$GQ.
MU_0OC-X6_9G\'?M)3>*IOV9/'OQA^(TFG^-O"'Q\\/?LR:?J?PSU7QEXW?2O
M$7@[Q%JMK!9:]9V^F:#XT'L7_!-SXO/^VU\6_P!I;XZ_LB_$WQ+\$/V1-3_9
MV^&/P,/P&\5W0U3XN?";]M;3=7\;ZW\3?BGJWPB\6:IKQ^#'B+PGX(\1>$OA
MU/I^MVD&E?&OQ/X1'Q!?1]>\,:-I'B7Q< ?T"!@20,\''*LN?H6 #?AFC<,X
MY^N#CKC&[&W.>,9SGM7X%Z!^S%XG_9+_ ."JG[(OAG]E7XR_M(>*/AU\7?A!
M^TSXV_;Y^'_QK_:+^+7[0GAJY\,^$]%\+:7\%?C28OBWXJ\5W'@/XH>*_C;K
MS>&M.G\,SZ-IWBOP[HOC6UT3P_:Z7X4\3*/DV;]L#XC/_P $:M8_X+/CQ3XF
M/QTC^/\ J'Q]TVS&NZNWAJT_9_TG]N!_@C:?LQKX<65-,;X:WG[.5J^@7^G_
M -FFZD^)][/\8-\GCV.WU- #^J>FA@3@9]C@@'OPQ&UN.>">.:IK<P7$9BBN
MXUEE1O+9'C:9 REHW\F3<Q=4*LR2Q$$@ATQD5^"5SHGP2^#/_!8G]E[X<_"C
M]J'XQ^#/C'X\^&_[0_B_]I+X:_&?XI?M#^+/!_[7'AV+P;8V_@/2? >E_$B6
M_P#@:?BI\./&K7/Q+DM?@B/"]SX'^&WAS7]!D\.6_AW7=)T^T /WY+ '!S[D
M D#ZD A>.>2..>E!8# .<GT5F_/:#@<'DX%?R<?MQ_&SXP_#_P#:I_;@_95^
M*GB?7_"G[1/[86H_!J/_ () ?M%GXPWWP]^#WPDDU#PEI/AJW\$ZIK]GKD&G
M_!/QSX'^)/ACQ_\ %/5M,U;2KO7OVJ]/&J^!] LO&;OX9\$S?JS^WQ^Q?X'^
M*WP5^)GQF_:+_:?_ &EO!FK_  >^!NJZWX.\:_!#XX_$_P#9[\-_![Q+X(\#
MZAJVN_%[2O GPL\4:1HOCCQSK/B:*[U;R_B1:>-K"RTB'P_X)\,Z'IRP:E=>
M( #];RP SU!Y&T%LCU 4$D>XI00>G^?KZ'V/-?S;^#_CK^T9I_C7_@B[\$?^
M"B_B"Y\&:#\;_P!C#XI>)OCG<>)[\^"/#WQ4_;:\,>#/A3=^#/A/\8M1MI-(
MT2'Q)I/@'5/B;XQG^'5_J.G>'O&7Q,M[W4++2-3O? VB6UC]K?\ !+;XX:UX
M[\9?\%#/@5%XYU'XI?"W]E#]M36OA=\#?'NH^(?^$QGM?AOXO^%/PY^+#_"F
M7QE+?:GJ/BE?@SXR\8^*O!6B:AK.HZAK&G>#(O"GAG4+^]FT'[0X!^N&X$XP
MV?\ =8#_ +Z(V_K2[AG'.?\ =;'_ 'UC;^M?A[\)UNC_ ,%Z_P!JKPJ^M>*9
MO"6@_P#!/_\ 9O\ B1HG@ZY\9^,+KP5H_C[QM\8OBEH'BSQCI7@JZUZ;PEIO
MB/7]%\/:+INI:M8Z+;W<]KIZ()%:YOWN_L;2]"T\?\%+/%U\'U7=#^QUX"UN
M&P/B+Q(V@0ZUJ/QL^)FA:AKD7A1M8/A6/7;W1M-L-*N=>31!K4NFV=MI[7_V
M*)(  ??A( R?T!)/T R3^ H!R,C/X@@_D0#7Y"?\%7?'O[0'P@;]E?XR^$_A
M-\5OC]^R1\-/BOXPUG]N#X,_ 9+F^^+FO_#F_P#AOK&D_#SQI8^%].U'2-7^
M(O@#X6^/+O\ X3+XA?#;2[[S/$J6GAZ\U.UNM T355B]<_X)]?$;]F#]H*#X
MB_M,_L=_M%ZA\8O@9\4]'^&VAVOPZ?QKXJUC1_@?XX\#?\)S+XIT33_AUXS=
M?$'P4U3Q/IWBWPU>>)?A[?:=HCC4]$37(=*BMM3BFG /T@II8 XY/;A6;!X.
M#M!QP0><<'-<SXW\6Z5X"\'>*_&^O/+%HG@_PWKWBK6984$DT>E>'=)O-:U)
MXD+*KRK96,YC4L 7"@G&:_)__@F);7O[<'['OPV_;6_:;FO?&_Q-_:JM_$7Q
M=TSPT?$?B"+P'\#?A[K_ (BU[3?A=\*?A+H&FWND67AV/P=\/[/1HO$WC>.U
M;QYXX\=7GB7Q/K?B6>WN-$TW10#]B**^ M!\9:5^QLGPC_97D\7_ !$^/WQC
M^.?C_P#:%\2?!;3O'WC?4?$7C6\\ Z-KNJ?%;Q5J/Q%^)_C*?4K^'P/\%M(\
M:>%OAI9^([\>(-=N(-0^&_AVUT[6-3O[JY@\E\9?\%8OA)X#^ OQG^+_ (B^
M%GQ8@\7_ +./[37PW_9-^._P3AA\(MX_^'WQ.^*OCSX>>"?!&MK<3^([?0O%
MGPS\6VGQ2\#^./"'C+PI=ZI<>(O!FOV]Q#H%IKNGZ_H6B@'ZKT5^8EW_ ,%#
M_&?_  N3]H/]FS2OV-_C3J?[0?P7^'G@WXV^&? !\>_ FRTCXJ? [QWX@\:>
M%-#\?:5X_G^(;^%O"&H1^)OA]XFT"_\  WBV>V\3IJ/]E3V$.HZ)<:IK&C9,
MO_!5WX5:WX9_X)]>)?A9\'?C5\6D_P""D?A'QOXI^ VE>%X/AWIFJ6%WX'^"
MVI_&6^\)>.1XI\>:-8:!XA>TTZ7P[=7RWUSX-T._M=6U/7/%=EH^FBYO #]4
M:*_+[X9_\%.?#OQ#\*>(K"\_9V^/O@_]HGP)^U'X1_8_^)7[-.J:'H?B/QA\
M.?BOX[T*Q\9>&/%7BKQGX#U7Q5X MO@+J7P\U"'XB0?&VWU>X\,3^&%:&TMK
MKQ'/8:%?8'BO_@K-\+/ _P "_CU\7]?^%/Q)OM8_9G_:Y^'_ .QG\7O /@[4
M_ 7BJ]T_XE_$WQ+\(]"\(>)?"^OP>)+'3?%?P_U.V^-O@/4?MEK:VGC.SFN=
M6T34O!%AK.B:C;0 'ZP4@.0",\^H(/X@@$?B*^%/AU^V3:?$CXS_ +2O[,GC
MKX)?$?X8?%'X)?#+PI\8;3PSJ_BCX=:Q+\5O@C\3+WXB^&?"WB_P;K?@GQM>
M6?A_6IO$GPS\6^&]:\-^)]4T'4?#>H-H=Z-6N+#4TU"T^9_V1_VWOV5/"/[%
M/[$S_!VUO/A[X;^.7P'USX@?L_\ PS_:"^-^G6?BBR^&_@>\TB#5KGX@?%GX
MC>*?%D]Q>V6I>-/"FE2.-8\8ZK+J7B6RM+&"?1=)U/4-* /V$HR,X]>G^?7V
MZU^8GPG_ ."I?P2^-_@']GW7O FAZWI/Q!_:-^)?Q7^#/@SX9?$O5_#O@FYL
M?BE\#;?5+SXE>$M1\:VMWXG\':Q<Q6&DR:KX(G\#WOBT?$;1+ZQU[PQ#-H\.
MN7FB<]^V-^U=XV^ O[)6B_M]ZSX$\:?!^Y^!GQ*\*P?'GX,^+[_1-5OM8^!M
M_P#'>S^"'Q7AOY?#&L:GX5U*^\.>'=8?XZ?"OQ/HM_/-<2:#H^FPW9T/QAXE
MTN] /U;)P,G/X D_D 3^E ((R,_B"#^1 -?*O[<,"7/[&O[4EP)[ZUN],_9Z
M^-.MZ5J6DZIJ>B:KIFL:)\-/%.J:-K&DZSHE[8:KI>I:=J%K;7^G:AIU];7E
MG<Q0W%M/'-&CKX5_P2"NK[5O^"7_ .P7XKUO5=:\0>*/'?[)WP'\=^-/$WB7
M7M;\3^(O%/C+Q7\-O#NK^)?$NO:]XBU'5-7U/5]:U.>>^OKJZO9"\TA6)8H5
MCB0 _2"DSR1SQCL0.?0D8/3G!..^,BOS>_:9_P""COA/]E_3/CWX[\:?!_XH
MS?!O]E_Q?\)/!OQD^)TUOI?AJSFO?BU:>"]3BU'X0Z1XFFT]OC'I'@'2/B!X
M:U#XA77A[5=.DL93K>@^&(/%?BCP_J6B1_#]W\=_BY\%/^"K'_!2Z]^&WP"^
M.W[5ESH_[*/_  3Z\36_PJ^&GC3P;8QZ#:2ZG^U+_P )EK&A+\8?B+X5\)Z?
MK>M6>D:2FE>"?!D+:[X^U>P_<Z<LMMJ6L1@'] 5'^?\ /I^->&_LT_M$?#']
MK+X#_"S]HWX-ZG>ZM\-OB]X0TWQCX7GU2P?2M9M+:]\VWOM%U_2GDF;2O$?A
MW5[74?#WB+2S/<#3M<TO4+-;BX2%9I/RI_X*L?M)_M ?!L>'?VB/@CK.OV_P
M5_X)U_%GX+_&C]L?PQX?TC4=1NOC#\,/B//>^!_BC\/+66U:VCW? [X"^.;[
M]HGQ)870U&R^TZG\--9DMX[C04D0 _<BBOBC]J?]M[P+^RWI'[,NM7W@GQY\
M6=._:H^/_@#]GCX<W/PJ_P"$4U=3XJ^)'A7Q5XR\*ZK>#6?$FB&ZT/6-#\'Z
MK)97ND+?6RW$EG)JMSH^DRS:M;_('BK_ (+(^!/A9\&OVS_'GQO_ &:/C[\)
M_BM^PM'\+-7^,O[/VJWGPF\1>,-0\"?'/5(M+^$7Q0^'WC3PI\0-4^&OCCP%
MXGN/[2M-1N]"\276O^'-9\-^)-!OO#\^JV-I;ZB ?LM17YGVG_!2C0O#GQN^
M)7P-^.?[.7[07P)\1^'?@+\2_P!I_P"$5YX@TCP;X_C_ &B?@O\ !^2QM_B/
M/\,M)^$?BSQOKL'Q3\,2ZMH-Q=_!'Q)8:;\1Y=-\2Z!=V^EO/>7-E9=%X$_X
M*":)X@^,=C\"/&?P<^(/@#XF>*?V2-1_;.\">%;_ %;P9J6LZO\ #'0M7\+:
M#XE\&^*=.;6=(N/A]\8?#VJ^./"4%[X2\0A_#5U'JEU)I?CJ^;0=?BTX _0Z
MBORD^"O_  5(C^-WP2\ ?M">'?V/OVH[3X7?&7P7^SSKGP5\0OI/P^UI?B#X
MM_:&^(R_#73?!<NG^&_&FK:SX*A^'NHWFF^)?B1X[\::7H_@?1O 9U/Q?INK
M:OIEKI+:_P"4_M5?\%7=?^&'[)7_  4L^(/PN^$,-U^T7_P3PBM?#WQ$\#^)
M/'7ANZ\#Z?J7C?X7^'?B1X$^(^B>+]&MKY?&OA2UT'Q?I][>^$9=&\,>+[SQ
M+H.N>"=1L]  37J /VQHKX4\(_MD7DO[2OPX_9"\;_"KQ+X?^+OC_P#99\=_
MM-:9JR^*?!.O^$&T3X;>/O ?PWUKP_J>J:'<0W5KXAU75_B%X?U;3IK#1+OP
M^=+EOP]]!=V8L9/-/A5_P4\^%?Q@^$W[/_CWP_X2UKPQXL_:9^.GQV_9W^%7
M@#XB^(_"WA@:C\2?V>O%?Q3\+^.-/U#QK8W7B#PU"FI'X1>)[_P98Z8-6\1^
M*8)]-AL=!69=7.D@'Z;4A8 @'.3Z G\\ X'N<#@^E>9?"#QWXC^(W@2S\4^+
MOAMXG^$?B-M<\9Z%JO@+QA>Z%J6M:5+X1\9:_P"$X=1_M/PS?ZGH.I:-XHM-
M$M_%GAG4=.OIH[WPUKFD7,Z6UY)<VEO_ #S_ +;O[2OCWQE_P4^O?V2?AQKT
MOCJ#X]?LC:Y\"/V8/%.D_$?5/!GPQ_9;_;S\#^)_%GCWXP>*?'&LZ3.EIJ?Q
M;\(_ KQ!\.?BAI/AGPX_B/XJV=CX!L/ NE^'/"5G\1/$'B.< _IFHKYG_9K^
M.M_\;-/^(=O+\.?BAX4L_A+\2_%_P6D\;_$>T\#:;9_%OQ)\,=5E\*^+_'/@
M"S\'>*O$4ESX*NO$=AJ-E:ZKJEGX>EEUBQUG38='@72V+?3% !1110 4444
M%%%% !1110 4444 %%%>#:[\&=;UC6M5U:'XH^*M,AU*_N+R+3K5[L6UBD[[
MUM8 FKQ+Y46=J;8HQCHB]*_-_$GBGCWA7+LNQ7 'A=C/%+'8K&SP^/RS!\7<
M,\(SRS"*A.I''SQ7$^)PV&Q<9UHPP_U?#2E7BY^UE'V<9,];*<%EF-JU89GG
M-/)J<*:G2K5,#C,<JU1S2=)0P<)SIM1;GSS2B[<M[M'O-%?./_"B-?\ ^BO>
M,O\ OY>__+NC_A1&O_\ 17O&7_?R]_\ EW7X]_Q&'Z2/_2(.>_\ BZ_"7R_Z
MFOG^#['N_P!A<)_]%UAO_$>SS_Y2?1U%?./_  HC7_\ HKWC+_OY>_\ R[H'
MP(U_(_XN]XR/_;2]_P#EW1_Q&'Z2'_2(.>_^+J\)?+_J:^?X/L']A<)_]%UA
MO_$>SS_Y2?1U?(7Q\\#?$SQ3\=OV0_%?@_P=8:]X1^$?Q-\>^,_B!JUUXOTS
M0KVQTGQ5\"/BI\*;"WT/0[NQN9O$&H1ZWXWTK4+Z*2^T>VM]&M[Z:WN;_4$A
MTR;ZB\-Z1-H.A:7H]QJ5SK$VG6D=K+J=YN^U7KQ[LW$^^6=O,?(W;I9#P/F-
M;?2OZ9RG$X[&Y5EN,S/+9Y-F6+P&#Q.8914Q6'QT\JQM?#TZN*RZ>-PDIX3%
MSP5>53#2Q6%E+#UY4G5HRE3G%OY&O"G3K5:=&LL12A5J0I5U"=-5J<9-0JJG
M42J4U4BE-0FE*-^62NF?E!\:?^"<MWJG[>OP$_;9^!7BJU\!1R_$C0=6_;.^
M%DB0V_ACX^Z?X"^%OQ,\'?!KXL0^7I]U)9?&SX3ZCXQB\+G68WL'\;_"S5KO
MP]KNIEO"/AZTO/8? O[-O_"VOBI\=_BK^U7\#_ MUKNH>+-*\&?!5KSQ18?$
M1-,^ ?@_1K?_ (1NU<0Z-H9\,>(-?\=:I\0/'7BS1D75(8Y_$NC:='K^L1Z#
M;/:_<NA^(_#_ (FMKR\\.:YH^OVFGZSK?AV_NM%U*SU2WLO$'AG5;O0O$>AW
M<UE--';:QH&MV%]H^M:;,R7FEZI9W5A>PP75O+$FS7H&1^)/[*?[)O[7O[*4
MO_!2[X/_  >\*_#+P'\"?C#X_P#B?\=OV!K^?XD2ZK<_"/XJ?$_P%8CQ?X/\
M;^#=/\,0)X5^%5W\;K&7XA>%=/\ "&J:]/HNAZ_XBTZ[LH-0DM5;U7]IS]D_
MXC_MH>(OV/;OXA_"7P'\*OB'^S'^TG\&/VB=2^/.B>,[#Q5J6@P?"S75\1>+
M/AQ\#-3M-%T7X@7FB_&&2TA\$^)X?'NE>"/#]MX(U:^UW4-%U_Q1HNC:2_ZP
MUYE!\9_A1<_%V]^ =M\0_"%S\:=,\!P?%#4_A?;ZY93^-],^'EWKL?AFR\9:
MEX?BD>_L/#U_K\G]DZ?J5W'#!?WT5Q!9F<VMR80#\L_V:_@+^UG\!OVW/^"E
MG[0MU\%_"'B'P5^V=\2?@-XP^&D-O\;M#L=7\/6OP;^ VG?"2_B\>V<G@Z[&
MFMKVL:4NKZ>?#DGBI[/2KT1W<3WMFT-UT_@O]D?]I?X07/[;_P"V-%=?#GXK
M?\%!/VKO#WAGPCX,\.Z9X@U'PA\"/@=X#^%^CZOH'P2^&7ACQ1XLT#5_$>O:
M5X5U+7M8^)7Q,\<ZAX/T>^^)WC._FCTWP-X2TBUTRQ@_7*B@#\=_VN_^"6GP
M6^,/_!/_ .+'P!^&7P2\-:5\9-;^#;Z=\*O%.H:YI^A^+?#?QST:WM=?^'GQ
M(\0?$>QMKTG7-%^*&G:3XT\8>)]-LKO4=<GCUJYMH;J\U1HYM;Q7^RA^TQ\;
M-'_8'_:O\:6_PU^'_P#P4-_8L.NKKFEQ^)]1\1? WXP:)\4O!&G_  \_:/\
MAW=>(]$T"TUSPYX9^*5GIUCXV^'GBN3P?KNK?"OQMHN@RZAX5\4Z5%J]IJ7Z
M@^-?B%X'^'.G6>J^._%>@>$[#4=2AT;2Y]>U2TTXZMK5Q!<W5MHNCPSR+<ZO
MK-S;6=W<6VDZ9#=ZC/!:W,T5L\4$KI4\!?%'X=_%&QO]0^'OC/PYXOM])O5T
MS6AH6J6M]=:%JK6L%\NDZ_8(XU#0=6-C=6M\-+UBUL;\V=S;W8MS;SQ2, ?B
MAK'C75/^"H_[1GAC]E+X[_"WQ;^R%H'[&?QR^&_[2WQ,^"/Q<O\ 1;[XI_M7
M:G\,[N[UCX*ZC\(]2\+3ZC\./%/[)^E_$9;;Q9\0O'?ASQ%XD\6:QXC\)^&/
MAUKGA3X=66M7U_JW[!?M 6'QMOOA5K<'[.MWX)M?B]!K/@;4?# ^(]]K.E^!
M[^WTKX@>%M6\6:/XGU'P[I>M:Y8Z7X@\&6?B31)[K2=(U&^@?48Y+>SG=1&?
M3]4\-^'M<GTZZUK0](U>YTBXDN])GU/3;*_FTNZFC\J6YTV6Z@EDL+B6(^7)
M/9M#+(GR.[+Q6UQT';VH _+GXH?LG^)?VCOVR?V+OVG=>^%/AWX*^)_V0?%7
MQ#\3:W\4+?Q1H/B#XC_$KP[XV^$?C#X=K\#=!O?#%HL]Q\*=0\0^,H/''B;4
M?'<NEWMM<^"-.TCPWX.C;Q?J^LZ/\1S?\$R?VH=:_9A_:!^ $3_"KPQXX\!?
M\%+_ !G_ ,%%/V1?B;J?C?7-=\*?$#Q<_P"UA<_M1_#WPQ\4O"6C^$;+6O 6
MA-I.HW_PP\;W%M?>+[_3]:O&\7^'=/UG3=*M;+4_Z&;R[MM/M+J^O)DM[2RM
MYKNZGD)$<-O;QM--*Y )VQQHSM@$X!P">*\^^%GQE^$?QQ\/WWBOX,_$_P
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
MA63PXGP8\=7G@VSL/%&I>%O$NGZO&\GC&P\*:3J'AW4M6B35K?4O[-GG^6_
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
M+\27T6M>$/"?A7Q^_AZZ@TGPOX8UCQU;>&M /C;5=5MQJMEJ@!\#W7_!3/\
M:0L_V%?$'[31TOX0S^//!'_!3J\_8IO]+/@WQ1%X4\2_#6V_;ZTS]D9/$7V!
M?B&^JZ%XW;P?J#>*VO8-;U30QXHA6(:"='E-I']!_#3]IS]M#XU?MX_MD_L]
M>"KG]FSPY\)?V,_V@?V6_#_B"Z\2^"_B3J?CGXA?!OXU?L]67Q<\9Z5I&I:9
MX\@TCP[\3M!U+Q+ID>@>)K[1=1\):A:Z9_9MUX:L7FNM4DYGQ3_P2+FU_P
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
M^'O#_AN\TK3-$2.Y]1T+]B&^\.?M&_ML_M%:9\6Y#J_[9OPE^#WPGU/PW>>
M-.N-,^'UC\#_  [\0?#?@S5]&O8_$UO>Z_>7%K\3?$UUXAM=76"UU"\72?L7
M]EVEC+:W@!\!?";_ (*%?M+>+_AQ_P $+K3P=X<_9\\*7O\ P4E^&_CN_P#B
M9#+X%\8IX9^'.H^$/V1_%'QXT5/AIX>T/QSIPL_#>G:QHT5@WAO4[VZN]3TV
MVMM)@\2>'OMEUK=IM>'?^"FOQT\,?L]_M#W_ ,2-%^&WB/XK?L\?\%2/!?\
MP3?\1?%K0_"_B#P;\&[#PW\1/B#\!](TK]I7Q[X-U+QOKFI>$M \$^"/CI87
M/C'P[%\1)-'OO%VA10Q>*_#_ (?UQ[S2O?/AI_P2[C^&ME_P2\TZQ^.FIZE9
M_P#!+W1O&/A_X?+=_#C189OB=I?C#X,:O\!9AXUEM_$^-*O-.\ ZW>R6ESX<
MB@CF\2>5JUY:S6D8TD_+G[4W[*NJ_LO?!O\ :#TZ#XR_'>W\+?MS?\%"-._:
M0^+7Q7^%'[-VD?&#2?V=TU#P=X:FUNT^*'PCM-/^)5[\4OV</%\/P/\  WPG
M\2Z'?^$;Y(]0\?OK/CS5H_ ZZU%& ?>'[+W[0?Q^\>_M>_MF_LX?$3_A7OB#
MX??LLQ_ Z'PU\4O#'A7Q#H&M>.]5^-W@2Z\>3^&?$$3>*=9\(:5XK^&-OIK1
M>)--T2%WU3P_XR^'OB-XO#\NI7.EW'RS_P %)B1_P4F_X(4X9AG]JK]J->&8
M84_L<?$($#!X!#,#C&02#D$UZ?\ \$Z;CXO#5=1.B_M)> /VE/V<-5TG6-0@
MU+0/V%[_ /8XF\(^,Q=Z+_94FAZQ8:K:>%/B7_PD&GMJH\3VMGX&L[G2_L6B
M:E_PD%FDB:/J_OO[3?[%NI?M$_M%_L;_ +0D'Q9?P/>?L:^/_'/Q&\(>%8O
M&G^);#Q?K?Q"^']_\,M>MO%&J7OB72[ZVTV'PMJVIKI<6APV-S;:K<QZA=75
M\MK;VJ@'Y\_'/]O[]L_PS:?\%D?$'P]NOV<]&T/_ ():77AGQKX4L/%'PU^(
M?BB_^,'@:T_93\+?M-^(_ ?B:YL/BKX9B\*^(-9BUZZ\+V7Q!TA-4M-->"TG
MC\"LL=S<W7KO[0'_  47\1>#_''@[P9<^+/!O[)NF_&[X ?#7Q]^RC\:/VA/
MAUX@\6_L[?&/XY?$BQ\67-S\"_'WQ1T7Q+X2\._"[Q'X2%MX"-IX=UOQ!X<\
M0^.+?Q?-JOA*\UK^RY?#\GI?C'_@F>/&>C?\%0]$OOC=?VUM_P %0='M]"^(
M#VWPYTDR?#'3XO@-I'[.4I\%F7Q0PU:[G^'>BV4_G^(A*D7BH2ZPD'V&1M&K
MJO&/[!OC3XB_!7Q_^S/X_P#V@HO&7[/7Q3_9[\$?L_>,/A]X@^#?AR^NM(T_
MPYX,N_ GB3QM\-M=D\5&'PIXM\7Z5_8NKJGB#1/'&@^$O%V@67BCPQI-I?S7
M:3 'RS\*_C'^U-+_ ,%'_P#@K3H^K_%OPUK?@O\ 9O\ V;/V/?$GPP^&NM_#
MN5/#GAJ7Q]\._P!I[QVNF1:GH7C/3M2FE'B[2(+SQMXEN+>]UOQMI]OI6C67
M_"):=X>T>*+Z=_X)F_'']KK]J3X ?!;]I_X^7G[/MI\/OV@/V8/@%\4?"'@O
MX5>$O'^B>,?"?Q"\6:!>:U\1!XCUWQ-XR\2:'KOA/5X+[0+SPC8Z9IVDZKX7
M<:AH6K7GB0VL?B/5+MG_ ,$^%\'_ +07[07QM^%GQGUSP;I/[2G[.?PE^!'Q
M'^'VL^#='\=6US?_  *\*_$3P+\,/&EEXNUG6+3Q%!'IWA;XD:I'XA\.9\SQ
M-KND:#J]QXCL[5-;TC7/HK]C?]G5?V1_V7O@7^S';>,KGQ_I/P'^&OA;X5^'
MO%E_H-EX<U35_#/@O3(-$\/3:OING7^H6 U:/2;6UAU&[LY((+^YC>[6SM3,
MT0 /IBBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ H(R"/7C@D'\QR/J.:**  # P.WXG\2>2?4GD]Z*** "BBB@!%4*,#/_ F
M9C^;$G]:6BB@ HHHH **** "BBB@ HHHH *" >#_ )_P(['J#110 T*%SC)S
MS\S,WY;B<?08%.HHH **** "BBB@ HHHH **** "BBB@ HHHH *0@$8.?P)!
M'T(((/N"#2T4 (%"C S^+%C^;$G]:6BB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
G"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** /__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841270176">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Jan. 29, 2017</div></th>
<th class="th"><div>Jul. 03, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInformationLineItems', window );"><strong>Entity Information [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2016<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2016<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">CGNX<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">COGNEX CORP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000851205<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86,053,044<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,486,705,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>If the value is true, then the document is an amendment to previously-filed/accepted document.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal period of the document report. For a first quarter 2006 quarterly report, which may also provide financial information from prior periods, the first fiscal quarter should be given as the fiscal period focus. Values: FY, Q1, Q2, Q3, Q4, H1, H2, M9, T1, T2, T3, M8, CY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word "Other".</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12b<br> -Subsection 1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate "Yes" or "No" whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: (1) Large Accelerated Filer, (2) Accelerated Filer, (3) Non-accelerated Filer, (4) Smaller Reporting Company (Non-accelerated) or (5) Smaller Reporting Accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>State aggregate market value of voting and non-voting common equity held by non-affiliates computed by reference to price at which the common equity was last sold, or average bid and asked price of such common equity, as of the last business day of registrant's most recently completed second fiscal quarter. The public float should be reported on the cover page of the registrants form 10K.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12b<br> -Subsection 1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate "Yes" or "No" if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate "Yes" or "No" if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841678112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueNet', window );">Revenue</a></td>
<td class="nump">$ 520,753<span></span>
</td>
<td class="nump">$ 450,557<span></span>
</td>
<td class="nump">$ 426,449<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenue</a></td>
<td class="nump">115,590<span></span>
</td>
<td class="nump">102,571<span></span>
</td>
<td class="nump">94,067<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross margin</a></td>
<td class="nump">405,163<span></span>
</td>
<td class="nump">347,986<span></span>
</td>
<td class="nump">332,382<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research, development, and engineering expenses</a></td>
<td class="nump">78,269<span></span>
</td>
<td class="nump">69,791<span></span>
</td>
<td class="nump">55,831<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general, and administrative expenses</a></td>
<td class="nump">166,110<span></span>
</td>
<td class="nump">156,674<span></span>
</td>
<td class="nump">148,699<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">160,784<span></span>
</td>
<td class="nump">121,521<span></span>
</td>
<td class="nump">127,852<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign currency gain (loss)</a></td>
<td class="nump">101<span></span>
</td>
<td class="nump">1,122<span></span>
</td>
<td class="nump">1,031<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNonoperating', window );">Investment income</a></td>
<td class="nump">7,039<span></span>
</td>
<td class="nump">3,674<span></span>
</td>
<td class="nump">3,156<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense)</a></td>
<td class="nump">871<span></span>
</td>
<td class="nump">645<span></span>
</td>
<td class="num">(283)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income from continuing operations before income tax expense</a></td>
<td class="nump">168,795<span></span>
</td>
<td class="nump">126,962<span></span>
</td>
<td class="nump">131,756<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense on continuing operations</a></td>
<td class="nump">18,968<span></span>
</td>
<td class="nump">19,298<span></span>
</td>
<td class="nump">20,915<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperations', window );">Net income from continuing operations</a></td>
<td class="nump">149,827<span></span>
</td>
<td class="nump">107,664<span></span>
</td>
<td class="nump">110,841<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity', window );">Net income (loss) from discontinued operations (Note 19)</a></td>
<td class="num">(255)<span></span>
</td>
<td class="nump">79,410<span></span>
</td>
<td class="nump">10,644<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 149,572<span></span>
</td>
<td class="nump">$ 187,074<span></span>
</td>
<td class="nump">$ 121,485<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Basic earnings per weighted-average common and common-equivalent share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare', window );">Net income from continuing operations (in dollars per share)</a></td>
<td class="nump">$ 1.76<span></span>
</td>
<td class="nump">$ 1.25<span></span>
</td>
<td class="nump">$ 1.28<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare', window );">Net income from discontinued operations (in dollars per share)</a></td>
<td class="num">(0.01)<span></span>
</td>
<td class="nump">0.92<span></span>
</td>
<td class="nump">0.12<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Net income (in dollars per share)</a></td>
<td class="nump">1.75<span></span>
</td>
<td class="nump">2.17<span></span>
</td>
<td class="nump">1.40<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDilutedAbstract', window );"><strong>Diluted earnings per weighted-average common and common-equivalent share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare', window );">Net income from continuing operations (in dollars per share)</a></td>
<td class="nump">1.72<span></span>
</td>
<td class="nump">1.22<span></span>
</td>
<td class="nump">1.24<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare', window );">Net income from discontinued operations (in dollars per share)</a></td>
<td class="nump">0.00<span></span>
</td>
<td class="nump">0.91<span></span>
</td>
<td class="nump">0.12<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income (in dollars per share)</a></td>
<td class="nump">$ 1.72<span></span>
</td>
<td class="nump">$ 2.13<span></span>
</td>
<td class="nump">$ 1.36<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted-average common and common-equivalent shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">85,338<span></span>
</td>
<td class="nump">86,296<span></span>
</td>
<td class="nump">86,858<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">87,072<span></span>
</td>
<td class="nump">87,991<span></span>
</td>
<td class="nump">89,071<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareCashPaid', window );">Cash dividends per common share (in dollars per share)</a></td>
<td class="nump">$ 0.30<span></span>
</td>
<td class="nump">$ 0.21<span></span>
</td>
<td class="nump">$ 0.00<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareCashPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends paid during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareCashPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=65016374&amp;loc=d3e4984-109258<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1252-109256<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDilutedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of foreign currency transaction realized and unrealized gain (loss) recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64836518&amp;loc=d3e30700-110894<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64836518&amp;loc=d3e30690-110894<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from continuing operations attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4613673-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1252-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20187-122688<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerBasicShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20187-122688<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1252-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from a discontinued operation attributable to the parent. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721675-107760<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721523-107759<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e957-107759<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e1012-107759<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per basic share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation and gain (loss) from the disposal of the discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1278-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Per diluted share amount, after tax, of income (loss) from the day-to-day business activities of the discontinued operation and gain (loss) from the disposal of the discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 5.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27015204&amp;loc=d3e355146-122828<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1278-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a),(b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Income Tax Expense (or Benefit)<br> -URI http://asc.fasb.org/extlink&amp;oid=6515339<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income from investments (for example, dividends) not considered a component of the entity's core operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Net Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831255<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Other Comprehensive Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831270<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 730<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420194&amp;loc=d3e21568-108373<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesRevenueNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total revenue from sale of goods and services rendered during the reporting period, in the normal course of business, reduced by sales returns and allowances, and sales discounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesRevenueNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68048583&amp;loc=d3e3636-108311<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1505-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Weighted-Average Number of Common Shares Outstanding<br> -URI http://asc.fasb.org/extlink&amp;oid=6528421<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6831722016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 149,572<span></span>
</td>
<td class="nump">$ 187,074<span></span>
</td>
<td class="nump">$ 121,485<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CashflowshedgesAbstract', window );"><strong>Cash flow hedges:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss), net of tax of ($22), $22, and $0 in 2016, 2015, and 2014, respectively</a></td>
<td class="num">(567)<span></span>
</td>
<td class="num">(27)<span></span>
</td>
<td class="num">(118)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Reclassification of net realized (gain) loss into current operations</a></td>
<td class="nump">398<span></span>
</td>
<td class="nump">201<span></span>
</td>
<td class="nump">46<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax', window );">Net change related to cash flow hedges</a></td>
<td class="num">(169)<span></span>
</td>
<td class="nump">174<span></span>
</td>
<td class="num">(72)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract', window );"><strong>Available-for-sale investments:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Net unrealized gain (loss), net of tax of $248, ($279), and $40 in 2016, 2015, and 2014, respectively</a></td>
<td class="nump">1,672<span></span>
</td>
<td class="num">(939)<span></span>
</td>
<td class="nump">579<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized (gain) loss into current operations</a></td>
<td class="num">(191)<span></span>
</td>
<td class="num">(344)<span></span>
</td>
<td class="num">(673)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent', window );">Net change related to available-for-sale investments</a></td>
<td class="nump">1,481<span></span>
</td>
<td class="num">(1,283)<span></span>
</td>
<td class="num">(94)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CurrencytranslationadjustmentAbstract', window );"><strong>Foreign currency translation adjustments:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax of ($228), ($711) and ($870) in 2016, 2015, and 2014, respectively</a></td>
<td class="num">(5,616)<span></span>
</td>
<td class="num">(11,616)<span></span>
</td>
<td class="num">(9,400)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent', window );">Net change related to foreign currency translation adjustments</a></td>
<td class="num">(5,616)<span></span>
</td>
<td class="num">(11,616)<span></span>
</td>
<td class="num">(9,400)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="num">(4,304)<span></span>
</td>
<td class="num">(12,725)<span></span>
</td>
<td class="num">(9,566)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Total comprehensive income</a></td>
<td class="nump">$ 145,268<span></span>
</td>
<td class="nump">$ 174,349<span></span>
</td>
<td class="nump">$ 111,919<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CashflowshedgesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash flows hedges [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CashflowshedgesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CurrencytranslationadjustmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Currency translation adjustment [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CurrencytranslationadjustmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Other Comprehensive Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831270<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Comprehensive Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831223<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e557-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Net Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831255<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Net Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831255<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Other Comprehensive Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831270<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities, attributable to parent entity. Excludes amounts related to other than temporary impairment (OTTI) loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4569643-111683<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=64809438&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=64809438&amp;loc=SL4573702-111684<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4569643-111683<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities. Excludes amounts related to other than temporary impairment (OTTI) loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b,c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32211-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=64809438&amp;loc=SL4573702-111684<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4569616-111683<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4569643-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27357-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e689-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income of accumulated gain (loss) realized from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e689-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph c<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=d3e41638-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6441202&amp;loc=d3e80720-113993<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6842139392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax', window );">Tax effect of unrealized gain on cash flow hedges</a></td>
<td class="num">$ (22)<span></span>
</td>
<td class="nump">$ 22<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax', window );">Tax effect of unrealized gain (loss) on available-for-sale investments</a></td>
<td class="nump">248<span></span>
</td>
<td class="num">(279)<span></span>
</td>
<td class="nump">40<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax', window );">Tax effect of foreign currency translation adjustment</a></td>
<td class="num">$ (228)<span></span>
</td>
<td class="num">$ (711)<span></span>
</td>
<td class="num">$ (870)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit), before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32211-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e640-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit), after reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e640-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) before reclassification adjustments of unrealized holding gain (loss) on available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e640-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e,f)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841845456">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 79,641,000<span></span>
</td>
<td class="nump">$ 51,975,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">341,194,000<span></span>
</td>
<td class="nump">296,468,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, less reserves of $873 and $736 in 2016 and 2015, respectively</a></td>
<td class="nump">55,438,000<span></span>
</td>
<td class="nump">42,846,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnbilledReceivablesCurrent', window );">Unbilled revenue</a></td>
<td class="nump">2,217,000<span></span>
</td>
<td class="nump">24,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">26,984,000<span></span>
</td>
<td class="nump">37,334,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">20,870,000<span></span>
</td>
<td class="nump">15,847,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">526,344,000<span></span>
</td>
<td class="nump">444,494,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments</a></td>
<td class="nump">324,335,000<span></span>
</td>
<td class="nump">273,088,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant, and equipment, net</a></td>
<td class="nump">53,992,000<span></span>
</td>
<td class="nump">53,285,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">95,280,000<span></span>
</td>
<td class="nump">81,448,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Intangible assets, net</a></td>
<td class="nump">8,312,000<span></span>
</td>
<td class="nump">6,315,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetNoncurrent', window );">Deferred income taxes</a></td>
<td class="nump">28,022,000<span></span>
</td>
<td class="nump">26,517,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">2,319,000<span></span>
</td>
<td class="nump">2,609,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">1,038,604,000<span></span>
</td>
<td class="nump">887,756,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">9,830,000<span></span>
</td>
<td class="nump">7,860,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">42,539,000<span></span>
</td>
<td class="nump">33,272,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued income taxes</a></td>
<td class="nump">5,193,000<span></span>
</td>
<td class="nump">985,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueAndCreditsCurrent', window );">Deferred revenue and customer deposits</a></td>
<td class="nump">8,211,000<span></span>
</td>
<td class="nump">11,571,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">65,773,000<span></span>
</td>
<td class="nump">53,688,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">319,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Reserve for income taxes</a></td>
<td class="nump">5,361,000<span></span>
</td>
<td class="nump">4,830,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other non-current liabilities</a></td>
<td class="nump">4,871,000<span></span>
</td>
<td class="nump">3,252,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">76,005,000<span></span>
</td>
<td class="nump">62,089,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 10)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValueOutstanding', window );">Common stock, $.002 par value &#8211; Authorized: 200,000 and 140,000 shares in 2016 and 2015, respectively, issued and outstanding: 85,939 and 84,856 shares in 2016 and 2015, respectively</a></td>
<td class="nump">172,000<span></span>
</td>
<td class="nump">170,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">375,030,000<span></span>
</td>
<td class="nump">311,008,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">643,825,000<span></span>
</td>
<td class="nump">566,613,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss, net of tax</a></td>
<td class="num">(56,428,000)<span></span>
</td>
<td class="num">(52,124,000)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders&#8217; equity</a></td>
<td class="nump">962,599,000<span></span>
</td>
<td class="nump">825,667,000<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders' equity</a></td>
<td class="nump">$ 1,038,604,000<span></span>
</td>
<td class="nump">$ 887,756,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients, within one year of the balance sheet date (or the normal operating cycle, whichever is longer), for goods or services (including trade receivables) that have been delivered or sold in the normal course of business, reduced to the estimated net realizable fair value by an allowance established by the entity of the amount it deems uncertain of collection.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e681-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669686-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6801-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investments in debt securities classified as available-for-sale, expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65884222&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=66010992&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash<br> -URI http://asc.fasb.org/extlink&amp;oid=6506951<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3044-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash Equivalents<br> -URI http://asc.fasb.org/extlink&amp;oid=6507016<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=25496072&amp;loc=d3e14326-108349<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of all classes of common stock held by shareholders. May be all or portion of the number of common shares authorized. These shares exclude common shares repurchased by the entity and held as treasury shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueAndCreditsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total carrying amount of consideration received or receivable as of the balance sheet date on potential earnings that were not recognized as revenue or other forms of income in conformity with GAAP, and which are expected to be recognized as such within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b).Q1(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b).Q2)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 13.A.Q4)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.4(a).Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(c).Q3)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueAndCreditsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31931-109318<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31928-109318<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31958-109318<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=64834752&amp;loc=SL49117168-202975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=68049868&amp;loc=d3e3927-108312<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnbilledReceivablesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnbilledReceivablesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6831567136">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Valuation Allowances and Reserves, Balance</a></td>
<td class="nump">$ 873<span></span>
</td>
<td class="nump">$ 736<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock par value, in dollars per share</a></td>
<td class="nump">$ 0.002<span></span>
</td>
<td class="nump">$ 0.002<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">200,000,000<span></span>
</td>
<td class="nump">140,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">85,939,000<span></span>
</td>
<td class="nump">84,856,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">85,939,000<span></span>
</td>
<td class="nump">84,856,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841174144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 149,572<span></span>
</td>
<td class="nump">$ 187,074<span></span>
</td>
<td class="nump">$ 121,485<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfBusiness', window );">(Gain) loss on sale of discontinued business</a></td>
<td class="nump">255<span></span>
</td>
<td class="num">(78,182)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">20,558<span></span>
</td>
<td class="nump">20,168<span></span>
</td>
<td class="nump">15,158<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation of property, plant, and equipment</a></td>
<td class="nump">11,678<span></span>
</td>
<td class="nump">9,868<span></span>
</td>
<td class="nump">8,443<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">3,391<span></span>
</td>
<td class="nump">4,250<span></span>
</td>
<td class="nump">4,024<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments', window );">Amortization of discounts or premiums on investments</a></td>
<td class="nump">383<span></span>
</td>
<td class="nump">690<span></span>
</td>
<td class="nump">1,823<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfInvestments', window );">Realized (gain) loss on sale of investments</a></td>
<td class="num">(1,506)<span></span>
</td>
<td class="num">(344)<span></span>
</td>
<td class="num">(673)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Revaluation of contingent consideration</a></td>
<td class="num">(463)<span></span>
</td>
<td class="num">(790)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Change in deferred income taxes</a></td>
<td class="num">(1,908)<span></span>
</td>
<td class="num">(1,409)<span></span>
</td>
<td class="num">(2,364)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(13,251)<span></span>
</td>
<td class="num">(3,950)<span></span>
</td>
<td class="num">(915)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInUnbilledReceivables', window );">Unbilled revenue</a></td>
<td class="num">(2,308)<span></span>
</td>
<td class="num">(242)<span></span>
</td>
<td class="num">(563)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">10,409<span></span>
</td>
<td class="num">(9,457)<span></span>
</td>
<td class="num">(11,750)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="nump">2,087<span></span>
</td>
<td class="num">(8,872)<span></span>
</td>
<td class="nump">10,896<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="nump">7,771<span></span>
</td>
<td class="num">(2,831)<span></span>
</td>
<td class="nump">7,812<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Accrued income taxes</a></td>
<td class="nump">2,110<span></span>
</td>
<td class="nump">9,957<span></span>
</td>
<td class="nump">7,700<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits', window );">Deferred revenue and customer deposits</a></td>
<td class="num">(3,188)<span></span>
</td>
<td class="nump">1,527<span></span>
</td>
<td class="nump">5,893<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet', window );">Other</a></td>
<td class="num">(3,509)<span></span>
</td>
<td class="nump">870<span></span>
</td>
<td class="num">(3,128)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">182,081<span></span>
</td>
<td class="nump">128,327<span></span>
</td>
<td class="nump">163,841<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Purchases of investments</a></td>
<td class="num">(751,868)<span></span>
</td>
<td class="num">(686,650)<span></span>
</td>
<td class="num">(422,633)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments', window );">Maturities and sales of investments</a></td>
<td class="nump">657,250<span></span>
</td>
<td class="nump">601,441<span></span>
</td>
<td class="nump">339,470<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property, plant, and equipment</a></td>
<td class="num">(12,816)<span></span>
</td>
<td class="num">(18,228)<span></span>
</td>
<td class="num">(20,934)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash paid for acquisition of business, net of cash acquired</a></td>
<td class="num">(14,285)<span></span>
</td>
<td class="num">(1,023)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Cash paid for purchased technology</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(10,475)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates', window );">Net cash received (paid) from sale of discontinued business</a></td>
<td class="num">(113)<span></span>
</td>
<td class="nump">104,388<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(121,832)<span></span>
</td>
<td class="num">(10,547)<span></span>
</td>
<td class="num">(104,097)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions', window );">Issuance of common stock under stock plans</a></td>
<td class="nump">43,468<span></span>
</td>
<td class="nump">27,582<span></span>
</td>
<td class="nump">16,930<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Repurchase of common stock</a></td>
<td class="num">(47,149)<span></span>
</td>
<td class="num">(126,351)<span></span>
</td>
<td class="num">(59,673)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDividendsCommonStock', window );">Payment of dividends</a></td>
<td class="num">(25,213)<span></span>
</td>
<td class="num">(18,062)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForPreviousAcquisition', window );">Payment of contingent consideration</a></td>
<td class="num">(337)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(29,231)<span></span>
</td>
<td class="num">(116,831)<span></span>
</td>
<td class="num">(42,743)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents', window );">Effect of foreign exchange rate changes on cash and cash equivalents</a></td>
<td class="num">(3,352)<span></span>
</td>
<td class="num">(4,668)<span></span>
</td>
<td class="num">(1,951)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease', window );">Net change in cash and cash equivalents</a></td>
<td class="nump">27,666<span></span>
</td>
<td class="num">(3,719)<span></span>
</td>
<td class="nump">15,050<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents at beginning of year</a></td>
<td class="nump">51,975<span></span>
</td>
<td class="nump">55,694<span></span>
</td>
<td class="nump">40,644<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents at end of year</a></td>
<td class="nump">79,641<span></span>
</td>
<td class="nump">51,975<span></span>
</td>
<td class="nump">55,694<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Stockbasedcompensationdiscontinuedoperation', window );">Stock-based compensation expense</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,533<span></span>
</td>
<td class="nump">1,099<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortizationDiscontinuedOperations', window );">Depreciation and amortization expense</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">566<span></span>
</td>
<td class="nump">1,141<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalExpenditureDiscontinuedOperations', window );">Capital expenditures</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 482<span></span>
</td>
<td class="nump">$ 631<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Stockbasedcompensationdiscontinuedoperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>stock-basedcompensationdiscontinuedoperation</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Stockbasedcompensationdiscontinuedoperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpenditureDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of capital expenditure attributable to discontinued operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpenditureDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash<br> -URI http://asc.fasb.org/extlink&amp;oid=6506951<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3044-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash Equivalents<br> -URI http://asc.fasb.org/extlink&amp;oid=6507016<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash and cash equivalents. Cash and cash equivalents are the amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Includes effect from exchange rate changes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=49171198&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortizationDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deprecation and amortization expense attributable to property, plant and equipment and intangible assets of discontinued operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortizationDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=49171198&amp;loc=d3e33268-110906<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gain (loss) from sale or disposal of an organization or integrated set of activities (for example, but not limited to, a partnership or corporation) engaged in providing a product or service in a commercial, industrial, or professional environment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net realized gain (loss) on investments sold during the period, not including gains (losses) on securities separately or otherwise categorized as trading, available-for-sale, or held-to-maturity, which, for cash flow reporting, is a component of proceeds from investing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amount of (a) prepayments by customers for goods or services to be provided at a later date, (b) the amount of customer money held in customer accounts, including security deposits, collateral for current or future transactions, initial payment of the cost of an acquisition or for the right to enter into a contract or agreement, (c) the increase (decrease) during the reporting period, excluding the portion taken into income, in the liability reflecting services yet to be performed by the reporting entity for which cash or other forms of consideration was received or recorded as a receivable, or (d) some combination of (a), (b), and (c).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredRevenueAndCustomerAdvancesAndDeposits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets after deduction of operating liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInUnbilledReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInUnbilledReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3574-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3574-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Net Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831255<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Other Comprehensive Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831270<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForPreviousAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash outflow representing an adjustment to the purchase price of a previous acquisition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForPreviousAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net cash outflow or inflow associated with the acquisition or sale of a business segment during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromBusinessesAndInterestInAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3291-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Financing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6513228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividendsCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3291-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Financing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6513228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total cash inflow associated with the amount received from holders to acquire the entity's shares under incentive and share awards, including stock option exercises. This item inherently excludes any excess tax benefit, which the entity may have realized and reported separately.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3255-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Financing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6513228<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The noncash expense that accounts for the value of stock or unit options distributed to employees as compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6847879728">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY - USD ($)<br> shares in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss [Member]</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning Balance at Dec. 31, 2013</a></td>
<td class="nump">$ 643,912,000<span></span>
</td>
<td class="nump">$ 174,000<span></span>
</td>
<td class="nump">$ 211,440,000<span></span>
</td>
<td class="nump">$ 462,131,000<span></span>
</td>
<td class="num">$ (29,833,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Beginning Balance, Shares at Dec. 31, 2013</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86,831<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock under stock option plans</a></td>
<td class="nump">16,930,000<span></span>
</td>
<td class="nump">$ 2,000<span></span>
</td>
<td class="nump">16,928,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of common stock under stock option plans, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,245<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(59,673,000)<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(59,670,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,534)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">15,158,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,158,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation', window );">Excess tax benefit from stock option exercises</a></td>
<td class="nump">7,871,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,871,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting', window );">Tax benefit for research and development credits as a result of stock options</a></td>
<td class="nump">320,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">320,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">121,485,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">121,485,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss) on cash flow hedges, net of tax</a></td>
<td class="num">(118,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(118,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Reclassification of net realized (gain) loss into current operations</a></td>
<td class="nump">46,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Net unrealized gain (loss) on available-for-sale investments, net of tax</a></td>
<td class="nump">579,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">579,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized gain on the sale of available-for-sale investments</a></td>
<td class="num">(673,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(673,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="num">(9,400,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,400,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2014</a></td>
<td class="nump">736,437,000<span></span>
</td>
<td class="nump">$ 173,000<span></span>
</td>
<td class="nump">251,717,000<span></span>
</td>
<td class="nump">523,946,000<span></span>
</td>
<td class="num">(39,399,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance, Shares at Dec. 31, 2014</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86,542<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock under stock option plans</a></td>
<td class="nump">27,582,000<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="nump">27,579,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of common stock under stock option plans, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,520<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">(126,351,000)<span></span>
</td>
<td class="num">$ (6,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(126,345,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,206)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">21,274,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,274,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation', window );">Excess tax benefit from stock option exercises</a></td>
<td class="nump">9,964,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,964,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting', window );">Tax benefit for research and development credits as a result of stock options</a></td>
<td class="nump">474,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">474,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Payment of dividends</a></td>
<td class="num">(18,062,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(18,062,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">187,074,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">187,074,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss) on cash flow hedges, net of tax</a></td>
<td class="num">(27,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(27,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Reclassification of net realized (gain) loss into current operations</a></td>
<td class="nump">201,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">201,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Net unrealized gain (loss) on available-for-sale investments, net of tax</a></td>
<td class="num">(939,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(939,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized gain on the sale of available-for-sale investments</a></td>
<td class="num">(344,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(344,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="num">(11,616,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,616,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2015</a></td>
<td class="nump">$ 825,667,000<span></span>
</td>
<td class="nump">$ 170,000<span></span>
</td>
<td class="nump">311,008,000<span></span>
</td>
<td class="nump">566,613,000<span></span>
</td>
<td class="num">(52,124,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance, Shares at Dec. 31, 2015</a></td>
<td class="nump">84,856<span></span>
</td>
<td class="nump">84,856<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Issuance of common stock under stock option plans</a></td>
<td class="nump">$ 43,468,000<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="nump">43,464,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of common stock under stock option plans, shares</a></td>
<td class="nump">1,977<span></span>
</td>
<td class="nump">1,977<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Repurchase of common stock</a></td>
<td class="num">$ (47,149,000)<span></span>
</td>
<td class="num">$ (2,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(47,147,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(894)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">20,558,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,558,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Payment of dividends</a></td>
<td class="num">(25,213,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(25,213,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">149,572,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">149,572,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss) on cash flow hedges, net of tax</a></td>
<td class="num">(567,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(567,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Reclassification of net realized (gain) loss into current operations</a></td>
<td class="nump">398,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">398,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Net unrealized gain (loss) on available-for-sale investments, net of tax</a></td>
<td class="nump">1,672,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,672,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized gain on the sale of available-for-sale investments</a></td>
<td class="num">(191,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(191,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustments, net of tax</a></td>
<td class="num">(5,616,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,616,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2016</a></td>
<td class="nump">$ 962,599,000<span></span>
</td>
<td class="nump">$ 172,000<span></span>
</td>
<td class="nump">$ 375,030,000<span></span>
</td>
<td class="nump">$ 643,825,000<span></span>
</td>
<td class="num">$ (56,428,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Balance, Shares at Dec. 31, 2016</a></td>
<td class="nump">85,939<span></span>
</td>
<td class="nump">85,939<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Adjustment To Additional Paid In Capital Tax Benefit For Research And Development Credits As Result Of Stock Option Accounting</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AdjustmentToAdditionalPaidInCapitalTaxBenefitForResearchAndDevelopmentCreditsAsResultOfStockOptionAccounting</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This element represents the amount of recognized equity-based compensation during the period, that is, the amount recognized as expense in the income statement (or as asset if compensation is capitalized). Alternate captions include the words "stock-based compensation".</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=66904339&amp;loc=d3e4534-113899<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65896087&amp;loc=d3e11149-113907<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65896087&amp;loc=d3e11178-113907<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in additional paid in capital (APIC) resulting from a tax benefit associated with share-based compensation plan other than an employee stock ownership plan (ESOP). Includes, but is not limited to, excess tax benefit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 740<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65880886&amp;loc=d3e23524-113945<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsCommonStockCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCommonStockCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Net Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831255<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Other Comprehensive Income<br> -URI http://asc.fasb.org/extlink&amp;oid=51831270<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities. Excludes amounts related to other than temporary impairment (OTTI) loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b,c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32211-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27357-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e689-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income of accumulated gain (loss) realized from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e689-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph c<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=d3e41638-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6441202&amp;loc=d3e80720-113993<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6831309808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfStockholdersEquityAbstract', window );"><strong>Statement of Stockholders' Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax', window );">Tax effect of unrealized gain on derivative instruments</a></td>
<td class="num">$ (22)<span></span>
</td>
<td class="nump">$ 22<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax', window );">Tax effect of unrealized gain on available-for-sale investments</a></td>
<td class="nump">248<span></span>
</td>
<td class="num">(279)<span></span>
</td>
<td class="nump">40<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax', window );">Tax benefit of foreign currency translation adjustment</a></td>
<td class="num">$ (228)<span></span>
</td>
<td class="num">$ (711)<span></span>
</td>
<td class="num">$ (870)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit), after reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e640-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e640-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) before reclassification adjustments of unrealized holding gain (loss) on available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e640-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e,f)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836849232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Summary of Significant Accounting Policies</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying consolidated financial statements reflect the application of the significant accounting policies described below.</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Nature of Operations</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation is a leading provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, where vision is required.</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Use of Estimates in the Preparation of Financial Statements</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S.&#160;GAAP) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and the disclosure of contingent liabilities as of the balance sheet date, and the reported amounts of revenues and expenses during the year.  Actual results could differ from those estimates.  Significant estimates and judgments include those related to revenue recognition, investments, accounts receivable, inventories, long-lived assets, goodwill, warranty obligations, contingencies, stock-based compensation, income taxes and derivative instruments.</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Basis of Consolidation</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The consolidated financial statements include the accounts of Cognex Corporation and its subsidiaries, all of which are wholly-owned.  All intercompany accounts and transactions have been eliminated.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Foreign Currency Translation</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The financial statements of the Company&#8217;s foreign subsidiaries, where the local currency is the functional currency, are translated using exchange rates in effect at the end of the year for assets and liabilities and average exchange rates during the year for results of operations.  The resulting foreign currency translation adjustment, net of tax, is recorded in shareholders&#8217; equity as other comprehensive income (loss).</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Fair Value Measurements</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company applies a three-level valuation hierarchy for fair value measurements.  The categorization of assets and liabilities within the valuation hierarchy is based upon the lowest level of input that is significant to the measurement of fair value.  Level&#160;1 inputs to the valuation methodology utilize unadjusted quoted market prices in active markets for identical assets and liabilities.  Level 2 inputs to the valuation methodology are other observable inputs, including quoted market prices for similar assets and liabilities, quoted prices for identical and similar assets and liabilities in markets that are not active, or other inputs that are observable or can be corroborated by observable market data. Level 3 inputs to the valuation methodology are unobservable inputs based upon management&#8217;s best estimate of the inputs that market participants would use in pricing the asset or liability at the measurement date, including assumptions about risk.  A change to the level of an asset or liability within the fair value hierarchy is determined at the end of a reporting period.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Cash, Cash Equivalents, and Investments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments purchased with original maturities of three months or less are classified as cash equivalents and are stated at amortized cost.  Debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as short-term investments, as well as equity securities that the Company intends to sell within one year.  Debt securities with remaining maturities greater than one year, as well as a limited partnership interest, are classified as long-term investments.  It is the Company&#8217;s policy to invest in debt securities with effective maturities that do not exceed </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;"> years.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax, recorded in shareholders&#8217; equity as other comprehensive income (loss).  Equity securities that are held for short periods of time with the intention of selling them in the near term are designated as trading and are reported at fair value, with unrealized gains and losses recorded in current operations.  Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method.  The Company&#8217;s limited partnership interest is accounted for using the cost method because the Company&#8217;s investment is less than </font><font style="font-family:Arial;font-size:10pt;">5%</font><font style="font-family:Arial;font-size:10pt;"> of the partnership and the Company has no influence over the partnership&#8217;s operating and financial policies. </font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management monitors the carrying value of its investments in debt securities and a limited partnership interest compared to their fair value to determine whether an other-than-temporary impairment has occurred.  If the fair value of a debt security is less than its amortized cost, the Company assesses whether the impairment is other-than-temporary.  In considering whether a decline in fair value is other-than-temporary, we consider many factors.  In its evaluation of its debt securities, management considers the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our intent and ability to hold the security to expected recovery of value, and other meaningful information.  An impairment is considered other-than-temporary if (i)&#160;the Company has the intent to sell the security, (ii)&#160;it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis, or (iii)&#160;the Company does not expect to recover the entire amortized cost basis of the security.  If impairment is considered other-than-temporary based upon condition (i)&#160;or (ii)&#160;described above, the entire difference between the amortized cost and the fair value of the security is recognized in current operations.  If an impairment is considered other-than-temporary based upon condition (iii), the amount representing credit losses (defined as the difference between the present value of the cash flows expected to be collected and the amortized cost basis of the security) is recognized in current operations and the amount relating to all other factors is recognized in shareholders' equity as other comprehensive income (loss).  In its evaluation of its limited partnership interest, management considers the duration and extent of the decline, the length of the Company&#8217;s commitment to the investment, general economic trends, and specific communications with the General Partner.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounts Receivable</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition.  Accounts that are outstanding longer than the payment terms are considered to be past due.  The Company establishes reserves against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer&#8217;s current ability to pay its obligations to the Company, general economic and industry conditions, as well as various other factors.  Receivables are written off against these reserves in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Inventories</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories are stated at the lower of cost or market.  Cost is determined using standard costs, which approximates actual costs under the first-in, first-out (FIFO) method.  The Company&#8217;s inventory is subject to rapid technological change or obsolescence.  The Company reviews inventory quantities on hand and estimates excess and obsolescence exposures based upon assumptions about future demand, product transitions, and market conditions, and records reserves to reduce the carrying value of inventories to their net realizable value.  If actual future demand is less than estimated, additional inventory write-downs would be required.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company generally disposes of obsolete inventory upon determination of obsolescence.  The Company does not dispose of excess inventory immediately, due to the possibility that some of this inventory could be sold to customers as a result of differences between actual and forecasted demand.  When inventory has been written down below cost, such reduced amount is considered the new cost basis for subsequent accounting purposes.  As a result, the Company would recognize a higher than normal gross margin if the reserved inventory were subsequently sold.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Property, Plant, and Equipment</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment are stated at cost and depreciated using the straight-line method over the assets&#8217; estimated useful lives.  Buildings&#8217; useful lives are </font><font style="font-family:Arial;font-size:10pt;">39</font><font style="font-family:Arial;font-size:10pt;"> years, building improvements&#8217; useful lives are </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;"> years, and the useful lives of computer hardware and software, manufacturing test equipment, and furniture and fixtures range from </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> years.  Leasehold improvements are depreciated over the shorter of the estimated useful lives or the remaining terms of the leases.  Maintenance and repairs are expensed when incurred; additions and improvements are capitalized.  Upon retirement or disposition, the cost and related accumulated depreciation of the disposed assets are removed from the accounts, with any resulting gain or loss included in current operations.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Goodwill</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill is stated at cost.  The Company evaluates the possible impairment of goodwill annually each fourth quarter and whenever events or circumstances indicate the carrying value of the goodwill may not be recoverable.  For the past </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;"> years, the Company has performed a qualitative assessment of goodwill (commonly known as &#8220;step zero&#8221;) to determine whether further impairment testing is necessary.  Factors that management considers in this assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, and changes in the composition or carrying amount of net assets. In addition, management takes into consideration the goodwill valuation under the last quantitative analysis that was performed.  If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, the entity would proceed to a two-step process.  Step one compares the fair value of the reporting unit with its carrying value, including goodwill.  If the carrying amount exceeds the fair value of the reporting unit, step two is required to measure the amount of impairment loss.  Step two compares the implied fair value of the reporting unit goodwill to the carrying amount of the goodwill.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Intangible Assets</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Intangible assets are stated at cost and amortized over the assets&#8217; estimated useful lives.  Intangible assets are either amortized in relation to the relative cash flows anticipated from the intangible asset or using the straight-line method, depending upon facts and circumstances.  The useful lives of distribution networks range from </font><font style="font-family:Arial;font-size:10pt;">eleven</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">twelve</font><font style="font-family:Arial;font-size:10pt;"> years, of customer contracts and relationships from </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;"> years, and of completed technologies and other intangible assets from </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;"> years.  The Company evaluates the possible impairment of long-lived assets, including intangible assets, whenever events or circumstances indicate the carrying value of the assets may not be recoverable. At the occurrence of a certain event or change in circumstances, the Company evaluates the potential impairment of an asset by estimating the future undiscounted cash flows expected to result from the use and eventual disposition of the asset.  If the sum of the estimated future cash flows is less than the carrying value, the Company determines the amount of such impairment by comparing the fair value of the asset to its carrying value.  The fair value is based upon the present value of the estimated future cash flows using a discount rate commensurate with the risks involved.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Warranty Obligations</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company warrants its products to be free from defects in material and workmanship for periods primarily ranging from </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;"> years from the time of sale based upon the product being purchased and the terms of the customer arrangement.  Warranty obligations are evaluated and recorded at the time of sale since it is probable that customers will make claims under warranties related to products that have been sold and the amount of these claims can be reasonably estimated based upon historical costs to fulfill claims.  Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Contingencies</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Loss contingencies are accrued if the loss is probable and the amount of the loss can be reasonably estimated.  Legal costs associated with potential loss contingencies, such as patent infringement matters, are expensed as incurred.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s product revenue is derived from the sale of machine vision systems, which can take the form of hardware with embedded software or software-only, and related accessories.  The Company also generates revenue by providing maintenance and support, consulting, and training services to its customers.  Certain of the Company&#8217;s arrangements include multiple deliverables that provide the customer with a combination of products or services.  In order to recognize revenue, the Company requires that a signed customer contract or purchase order is received, the fee from the arrangement is fixed or determinable, and collection of the resulting receivable is probable.  Assuming that these criteria have been met, product revenue is generally recognized upon delivery, revenue from maintenance and support programs is recognized ratably over the program period, and revenue from consulting and training services is recognized when the services have been provided.  When customer-specified acceptance criteria exists that are substantive, product revenue is deferred, along with associated incremental direct costs, until these criteria have been met and any remaining performance obligations are inconsequential or perfunctory.&#160;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the majority of the Company&#8217;s revenue transactions, revenue recognition and invoicing both occur upon delivery.  In certain circumstances, however, the agreement with the customer provides for invoicing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Invoicing that precedes revenue recognition is common for various customers in the logistics industry where milestone billings are prevalent, resulting in deferred revenue.  Conversely, the Company records unbilled revenue in connection with a material customer in the consumer electronics industry.  For this arrangement, the Company recognizes revenue for all delivered products when the first production line that incorporates these products is validated, because at that point the remaining performance obligations are inconsequential or perfunctory.  Invoicing for all delivered products occurs as the production lines incorporating those products are installed over a period of several weeks.  The Company also has a technical support obligation related to this arrangement for which revenue is deferred and recognized over the support period of approximately six months.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of the Company&#8217;s product offerings consist of hardware with embedded software.  Under the revenue recognition rules for tangible products, the fee from a multiple-deliverable arrangement is allocated to each of the deliverables based upon their relative selling prices as determined by a selling-price hierarchy.  A deliverable in an arrangement qualifies as a separate unit of accounting if the delivered item has value to the customer on a stand-alone basis.  A delivered item that does not qualify as a separate unit of accounting is combined with the other undelivered items in the arrangement and revenue is recognized for those combined deliverables as a single unit of accounting. The selling price used for each deliverable is based upon vendor-specific objective evidence (VSOE) if available, third-party evidence (TPE) if VSOE is not available, and management&#8217;s best estimate of selling price (BESP) if neither VSOE nor TPE are available. VSOE is the price charged for a deliverable when it is sold separately.  TPE is the price of the Company&#8217;s or any competitor&#8217;s largely interchangeable products or services in stand-alone sales to similarly-situated customers.  BESP is the price at which the Company would sell the deliverable if it were sold regularly on a stand-alone basis, considering market conditions and entity-specific factors.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The selling prices used in the relative selling price allocation method for (1)&#160;certain of the Company&#8217;s services are based upon VSOE, (2) third-party accessories available from other vendors are based upon TPE, and (3)&#160;hardware products with embedded software, custom accessories, and services for which VSOE does not exist are based upon BESP.  The Company does not believe TPE exists for these products and services because they are differentiated from competing products and services in terms of functionality and performance and there are no competing products or services that are largely interchangeable.  BESP has been established for each product line within each region. Management establishes BESP with consideration for market conditions, such as the impact of competition and geographic considerations, and entity-specific factors, such as pricing practices, gross margin objectives, customer size, and market share goals.  Management believes that BESP is reflective of reasonable pricing of that deliverable as if priced on a stand-alone basis.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under the revenue recognition rules for software-only products, the fee from a multiple-deliverable arrangement is allocated to each of the undelivered elements based upon VSOE, which is limited to the price charged when the same deliverable is sold separately, with the residual value from the arrangement allocated to the delivered element.  The portion of the fee that is allocated to each deliverable is then recognized as revenue when the criteria for revenue recognition are met with respect to that deliverable.  If VSOE does not exist for all of the undelivered elements, then all revenue from the arrangement is typically deferred until all elements have been delivered to the customer.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s products are sold directly to end users, as well as to resellers including original equipment manufacturers (OEMs), distributors, and integrators.  Revenue is recognized upon delivery of the product to the reseller, assuming all other revenue recognition criteria have been met.  The Company establishes reserves against revenue for potential product returns, since the amount of future returns can be reasonably estimated based upon experience.  These reserves have historically been immaterial.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certain customers are offered pricing discounts on current sales based upon purchasing volumes or preferred pricing arrangements, for which revenue is reported net of these discounts. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company reports revenue for certain of its product accessory sales on a net basis, by reducing the gross sale amount by the related costs, when certain factors in the arrangement with the customer indicate that the Company is acting as an agent, rather than as a principal.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amounts billed to customers related to shipping and handling, as well as reimbursements received from customers for out-of-pocket expenses, are classified as revenue, with the associated costs included in cost of revenue.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Research and Development</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research and development costs for internally-developed or acquired products are expensed when incurred until technological feasibility has been established for the product.  Thereafter, all software costs may be capitalized until the product is available for general release to customers.  The Company determines technological feasibility at the time the product reaches beta in its stage of development.  Historically, the time incurred between beta and general release to customers has been short, and therefore, the costs have been insignificant. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Advertising Costs</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Advertising costs are expensed as incurred and totaled </font><font style="font-family:Arial;font-size:10pt;">$1,674,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$2,009,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$2,609,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock-Based Compensation</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  The Company has reserved a specific number of shares of its authorized but unissued shares for issuance upon the exercise of stock options or the granting of restricted stock.  When a stock option is exercised or a restricted stock award is granted, the Company issues new shares from this pool.  The fair values of stock options are estimated on the grant date using a binomial lattice model.  Management is responsible for determining the appropriate valuation model and estimating these fair values, and in doing so, considers a number of factors, including information provided by an outside valuation advisor.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes compensation expense related to stock options using the graded attribution method, in which expense is recognized on a straight-line basis over the service period for each separately vesting portion of the stock option as if the option was, in substance, multiple awards.  The amount of compensation expense recognized at the end of the vesting period is based upon the number of stock options for which the requisite service has been completed. No compensation expense is recognized for options that are forfeited for which the employee does not render the requisite service.  The term &#8220;forfeitures&#8221; is distinct from &#8220;expirations&#8221; and represents only the unvested portion of the surrendered option.  The Company applies estimated forfeiture rates to its unvested options to arrive at the amount of compensation expense that is expected to be recognized over the requisite service period.  At the end of each separately vesting portion of an option, the expense that was recognized by applying the estimated forfeiture rate is compared to the expense that should be recognized based upon the employee&#8217;s service, and a credit to expense is recorded related to those employees that have not rendered the requisite service.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Taxes</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes a tax position in its financial statements when that tax position, based solely upon its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority.  Those tax positions failing to qualify for initial recognition are recognized in the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statutes of limitations.  Derecognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Only the portion of the liability that is expected to be paid within one year is classified as a current liability.  As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statutes of limitations) or are not expected to be paid within one year are not classified as current.  It is the Company&#8217;s policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred tax assets and liabilities are determined based upon the differences between the financial statement and tax bases of assets and liabilities as measured by the enacted tax rates that will be in effect when these differences reverse. Valuation allowances are provided if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sales tax in the United States and similar taxes in other jurisdictions that are collected from customers and remitted to government authorities are presented on a gross basis (i.e., a receivable from the customer with a corresponding payable to the government).  Amounts collected from customers and retained by the Company during tax holidays are recognized as non-operating income when earned.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Net Income Per Share</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period.  Diluted net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period plus potential dilutive common shares.  Dilutive common equivalent shares consist of stock options and are calculated using the treasury stock method.  Common equivalent shares do not qualify as participating securities.  In periods where the Company records a net loss, potential common stock equivalents are not included in the calculation of diluted net loss per share. </font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Comprehensive Income</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Comprehensive income is defined as the change in equity of a company during a period from transactions and other events and circumstances, excluding transactions resulting from investments by owners and distributions to owners. Accumulated other comprehensive loss, net of tax, as of December 31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;"> and December 31, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, consists of foreign currency translation adjustments of </font><font style="font-family:Arial;font-size:10pt;">$55,262,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$49,646,000</font><font style="font-family:Arial;font-size:10pt;">, respectively; net unrealized gains on available-for-sale investments of </font><font style="font-family:Arial;font-size:10pt;">$68,000</font><font style="font-family:Arial;font-size:10pt;"> and net unrealized losses on available-for-sale investments of </font><font style="font-family:Arial;font-size:10pt;">$1,413,000</font><font style="font-family:Arial;font-size:10pt;">, respectively; net unrealized gains on derivative instruments of $</font><font style="font-family:Arial;font-size:10pt;">37,000</font><font style="font-family:Arial;font-size:10pt;"> and $</font><font style="font-family:Arial;font-size:10pt;">206,000</font><font style="font-family:Arial;font-size:10pt;">, respectively; and losses on currency swaps, net of gains on long-term intercompany loans of </font><font style="font-family:Arial;font-size:10pt;">$1,271,000</font><font style="font-family:Arial;font-size:10pt;"> in each year. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amounts reclassified from accumulated other comprehensive income to investment income on the Consolidated Statements of Operations were net realized gains of </font><font style="font-family:Arial;font-size:10pt;">$191,000</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$344,000</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$673,000</font><font style="font-family:Arial;font-size:10pt;"> for </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Concentrations of Risk</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash, cash equivalents, investments, and trade receivables.  The Company has certain domestic and foreign cash balances that exceed the insured limits set by the Federal Deposit Insurance Corporation (FDIC) in the United States and equivalent regulatory agencies in foreign countries.  The Company primarily invests in investment-grade debt securities and has established guidelines relative to credit ratings, diversification, and maturities of its debt securities that maintain safety and liquidity.  The Company has not experienced any significant realized losses on its debt securities.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company performs ongoing credit evaluations of its customers and maintains allowances for potential credit losses. The Company has not experienced any significant losses related to the collection of its accounts receivable.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A significant portion of the Company's product is manufactured by a third-party contractor located in Indonesia.  This contractor has agreed to provide Cognex with termination notification periods and last-time-buy rights, if and when that may be applicable.  We rely upon this contractor to provide quality product and meet delivery schedules.  We engage in extensive product quality programs and processes, including actively monitoring the performance of our third-party manufacturers; however, we may not detect all product quality issues through these programs and processes.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certain components are presently sourced from a single vendor that is selected based on price and performance considerations.  In the event of a supply disruption from a single-source vendor, these components may be purchased from an alternative vendor, which may result in manufacturing delays based on the lead time of the new vendor.  Certain key electronic and mechanical components that are purchased from strategic suppliers, such as processors or imagers, are fundamental to the design of Cognex products.  A disruption in the supply of these key components, such as a last-time-buy announcement, natural disaster, financial bankruptcy, or other event, may require us to purchase a significant amount of inventory at unfavorable prices resulting in lower gross margins and higher risk of carrying excess inventory.  If we are unable to secure adequate supply from alternative sources, we may have to redesign our products, which may lead to a delay in manufacturing and a possible loss of sales.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Derivative Instruments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Derivative instruments are recorded on the Consolidated Balance Sheets at fair value.  Changes in the fair value of derivatives are recorded each period in current operations or in shareholders' equity as other comprehensive income (loss), depending upon whether the derivative is designated as a hedge transaction and, if it is, the effectiveness of the hedge.  At the inception of the contract, the Company designates foreign currency forward exchange contracts as either a cash flow hedge of certain forecasted foreign currency denominated sales and purchase transactions or as an economic hedge.  Changes in the fair value of a derivative that is highly effective and that is designated and qualifies as a cash flow hedge are recorded in shareholders' equity as other comprehensive income (loss), and reclassified into current operations in the same period during which the hedged transaction affects current operations and in the same financial statement line item as that of the forecasted transaction.  Cash flow hedges are evaluated for effectiveness quarterly.  Any hedge ineffectiveness (which represents the amount by which the changes in the fair value of the derivative exceed the variability in the cash flows of the forecasted transaction) is recorded in current operations in the period in which ineffectiveness is determined.  Changes in the fair value of the Company&#8217;s economic hedges (not designated as a cash flow hedge) are reported in current operations.  The cash flows from derivative instruments are presented in the same category on the Consolidated Statements of Cash Flows as the category for the cash flows from the hedged item.  Generally, this accounting policy election results in cash flows related to derivative instruments being classified as an operating activity on the Consolidated Statements of Cash Flows.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk-management objective and strategy for undertaking various hedge transactions.  This process includes linking all derivatives that are designated as cash flow hedges to specific forecasted transactions.  The Company also formally assesses (both at the hedge&#8217;s inception and on an ongoing basis) whether the derivatives that are used in hedging transactions have been highly effective in offsetting changes in the fair value or cash flows of hedged items and whether those derivatives may be expected to remain highly effective in future periods.  When it is determined that a derivative is not (or has ceased to be) highly effective as a hedge, the Company discontinues hedge accounting prospectively, as discussed below.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company discontinues hedge accounting prospectively when (1) it determines that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item; (2) the derivative expires or is sold, terminated, or exercised; (3) it is no longer probable that the forecasted transaction will occur; or (4) management determines that designating the derivative as a hedging instrument is no longer appropriate or desired.  When the Company discontinues hedge accounting because it is no longer probable that the forecasted transaction will occur in the originally expected period, the gain or loss on the derivative remains in accumulated other comprehensive income (loss) and is reclassified into current operations when the forecasted transaction affects current operations.  However, if it is probable that a forecasted transaction will not occur by the end of the originally specified time period or within an additional two-month period of time thereafter, the gain or loss that was accumulated in other comprehensive income (loss) is recognized immediately in current operations.  In all situations in which hedge accounting is discontinued and the derivative remains outstanding, the Company carries the derivative at fair value on the Consolidated Balance Sheets, recognizing changes in the fair value in current operations, unless it is designated in a new hedging relationship.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes all derivative instruments as either current assets or current liabilities at fair value on the Consolidated Balance Sheets.  When the Company is engaged in more than one outstanding derivative contract with the same counterparty and also has a legally enforceable master netting agreement with that counterparty, the &#8220;net&#8221; mark-to-market exposure represents the netting of the positive and negative exposures with that counterparty.  Accordingly, cash flow hedges are presented net on the Consolidated Balance Sheets.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18861-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18726-107790<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18743-107790<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18854-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822412976">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>New Pronouncements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract', window );"><strong>Accounting Changes and Error Corrections [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">New Pronouncements</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;"> New Pronouncements</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2014-09, &#8220;Revenue from Contracts with Customers&#8221;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The amendments in ASU 2014-09 will supersede and replace all currently existing U.S. GAAP, including industry-specific revenue recognition guidance, with a single, principle-based revenue recognition framework.  The concept guiding this new model is that revenue recognition will depict transfer of control to the customer in an amount that reflects consideration to which an entity expects to be entitled.  The core principles supporting this framework include (1) identifying the contract with a customer, (2) identifying separate performance obligations within the contract, (3) determining the transaction price, (4) allocating the transaction price to the performance obligations, and (5) recognizing revenue.  This new framework will require entities to apply significantly more judgment.  This increase in management judgment will require expanded disclosure on estimation methods, inputs, and assumptions for revenue recognition.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In March 2016, ASU 2016-08, "Principal versus Agent Considerations (Reporting Revenue Gross versus Net)," was issued, in April 2016, ASU 2016-10, "Identifying Performance Obligations and Licensing," was issued, in May 2016, ASU 2016-12, "Narrow-Scope Improvements and Practical Expedients" was issued, and in December 2016, ASU 2016-20. "Technical Corrections and Improvements," was issued.  These Updates do not change the core principle of the guidance under ASU 2014-09, but rather provide implementation guidance.  ASU 2015-14, "Deferral of the effective date," amended the effective date of ASU 2014-09 for public companies to annual reporting periods beginning after December 15, 2017.  Early adoption is permitted, but only beginning after December 15, 2016.  The Financial Accounting Standards Board may release additional implementation guidance in future periods. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:11pt;"><font style="font-family:Arial;font-size:10pt;">We expect to adopt this standard using the full retrospective method to present all periods reported on a consistent basis.  Upon adoption, revenue for software-only products sold as part of multiple-deliverable arrangements will no longer be deferred when vendor-specific objective evidence of fair value does not exist for undelivered elements of the arrangement.  This change will result in earlier recognition of revenue.  In addition, we expect certain of the Company&#8217;s product accessory sales, which are currently reported on a net basis, to be reported on a gross basis as a result of applying the expanded guidance in the new standard related to principal versus agent considerations.  This change will result in the Company reporting higher revenue and higher cost of revenue when these sales are reported on a gross basis, although the gross margin dollars will not change.  We do not expect either of these changes to have a material impact on total revenue.  Management will continue to evaluate the impact of this standard</font><font style="font-family:inherit;font-size:11pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2015-11, "Inventory - Simplifying the Measurement of Inventory"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2015-11 requires companies to measure most inventory at the lower of cost and net realizable value, thereby simplifying the current guidance under which a company must measure inventory at the lower of cost or market.  This ASU eliminates the need to determine replacement cost and evaluate whether said cost is within a quantitative range.  This ASU also further aligns U.S. GAAP and international accounting standards.  For public companies, the guidance in ASU 2015-11 is effective for annual periods beginning after December 15, 2016, and interim periods within those annual periods.  Early adoption is permitted.  Management does not expect ASU 2015-11 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-01, "Financial Instruments - Recognition and Measurement of Financial Assets and Financial Liabilities"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-01 provides guidance related to certain aspects of recognition, measurement, presentation, and disclosure of financial instruments.  The amendments in this Update affect all entities that hold financial assets or owe financial liabilities.  This ASU requires equity investments (except those accounted under the equity method) to be measured at fair value with changes in fair value recognized in net income.  However, an entity may choose to measure equity investments that do not have readily determinable fair values at cost minus impairment.  This ASU also eliminates the requirement for public companies to disclose the methods and significant assumptions used to estimate the fair value for financial instruments measured at amortized cost on the balance sheet, and it requires separate presentation of financial assets and financial liabilities by measurement category and form of financial asset on the balance sheet or the accompanying notes to the financial statements.  For public companies, the guidance in ASU 2016-01 is effective for annual periods beginning after December 15, 2017, and interim periods within those annual periods.  Early adoption is not permitted except for certain amendments in this Update.  Management does not expect ASU 2016-01 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-02, "Leases"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current U.S. GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current U.S. GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current U.S. GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  This ASU should be applied using a modified retrospective approach. Management is in the process of evaluating the impact of this Update. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-05, "Derivatives and Hedging - Effect of Derivative Contract Novations on Existing Hedge Accounting Relationships"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-05 applies to all reporting entities for which there is a change in the counterparty to a derivative instrument that has been designated as the hedging instrument.  The amendments in this Update clarify that a change in the counterparty does not, in and of itself, require de-designation of that hedging relationship provided that all other hedge accounting criteria continue to be met.  For public companies, the guidance in ASU 2016-05 is effective for annual periods beginning after December 15, 2016, and interim periods within those annual periods.  This ASU should be applied on either a prospective basis or a modified retrospective basis.  Management does not expect ASU 2016-05 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this Update require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.&#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-16 applies to all reporting entities with intra-entity transfers of assets other than inventory.  The amendments in this Update allow the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory when the transfer occurs, as opposed to when the asset has been sold to an outside party under current U.S. GAAP.   Two common examples of assets included in the scope of this Update are intellectual property and property, plant, and equipment.  For public companies, the amendments in ASU 2016-16 are effective for annual reporting periods beginning after December 15, 2017, and interim reporting periods within those annual periods.  Early adoption is permitted for all entities as of the beginning of an annual reporting period for which financial statements (interim or annual) have not been issued or made available for issuance.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption.  Management is in the process of evaluating the impact of this Update.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingChangesAndErrorCorrectionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingChangesAndErrorCorrectionsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Change in Accounting Principle<br> -URI http://asc.fasb.org/extlink&amp;oid=6507316<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Direct Effects of a Change in Accounting Principle<br> -URI http://asc.fasb.org/extlink&amp;oid=66092750<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=64853466&amp;loc=d3e22583-107794<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Indirect Effects of a Change in Accounting Principle<br> -URI http://asc.fasb.org/extlink&amp;oid=6515603<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64853466&amp;loc=d3e22580-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.10-01.(b)(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=27015980&amp;loc=d3e46468-122699<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Accounting Change<br> -URI http://asc.fasb.org/extlink&amp;oid=6503790<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64853466&amp;loc=d3e22499-107794<br><br>Reference 9: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Retrospective Application<br> -URI http://asc.fasb.org/extlink&amp;oid=6523989<br><br>Reference 10: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=68064558&amp;loc=d3e765-108305<br><br>Reference 11: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=68064558&amp;loc=d3e725-108305<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836958464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">Fair Value Measurements</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value Measurements</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities measured at fair value on a recurring basis as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:93.56725146198829%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Quoted&#160;Prices&#160;in</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Active Markets</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">for Identical</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Assets (Level&#160;1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Significant&#160;Other</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Observable</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Inputs (Level&#160;2)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unobservable Inputs                       (Level 3)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,334</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">311,140</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">159,455</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,560</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,883</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,242</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,750</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">43</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4,173</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s money market instruments are reported at fair value based upon the daily market price for identical assets in active markets, and are therefore classified as Level 1. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s debt securities and forward contracts are reported at fair value based upon model-driven valuations in which all significant inputs are observable or can be derived from or corroborated by observable market data for substantially the full term of the asset or liability, and are therefore classified as Level 2.  Management is responsible for estimating the fair value of these financial assets and liabilities, and in doing so, considers valuations provided by a large, third-party pricing service.  For debt securities, this service maintains regular contact with market makers, brokers, dealers, and analysts to gather information on market movement, direction, trends, and other specific data. They use this information to structure yield curves for various types of debt securities and arrive at the daily valuations. The Company's forward contracts are typically traded or executed in over-the-counter markets with a high degree of pricing transparency. The market participants are generally large commercial banks.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company did not record an other-than-temporary impairment of these financial assets in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, or </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid, using significant inputs that are not observable in the market, and are therefore classified as Level 3.  Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones, for the Manatee Works, Inc. (Manatee) and Chiaro Technologies LLC (Chiaro) acquisitions, and the likelihood of completing certain tasks for the EnShape GmbH (EnShape) acquisition.  The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:77%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:21%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration resulting from Manatee acquisition </font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,790</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(790</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Payment of Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(337</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(463</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration resulting from EnShape acquisition </font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,362</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration resulting from Chiaro acquisition </font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">611</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,173</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Refer to Note 20 to the Consolidated Financial Statements for further information regarding acquisitions.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets that are Measured at Fair Value on a Non-recurring Basis</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has an interest in a limited partnership, which is accounted for using the cost method.  During 2016, the Company received a distribution from the Partnership that was accounted for as a return of capital and reduced the carrying value of this investment to </font><font style="font-family:Arial;font-size:10pt;">zero</font><font style="font-family:Arial;font-size:10pt;">.  Accordingly, the Company is no longer required to measure this investment at fair value on a non-recurring basis.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-financial assets such as property, plant, and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized.  The Company did not record an impairment charge related to these assets in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, or </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19207-110258<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI http://asc.fasb.org/extlink&amp;oid=6957238&amp;loc=d3e14172-108612<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=6957238&amp;loc=d3e14064-108612<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13537-108611<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13504-108611<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13433-108611<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822368224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock', window );">Cash, Cash Equivalents, and Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Cash, Cash Equivalents, and Investments</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:66%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">77,307</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,334</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,024</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">79,641</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">51,975</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">141,188</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">54,376</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">69,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">61,994</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">67,175</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">109,360</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">46,499</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,730</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,298</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,440</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">590</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,903</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">978</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">341,194</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,468</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,952</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">176,575</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">92,280</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">44,437</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,946</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">24,582</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">23,585</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,503</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">10,339</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,180</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,233</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,869</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Limited partnership interest (accounted for using cost method)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">942</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">324,335</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">273,088</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">745,170</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">621,531</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s cash balance included foreign bank balances totaling </font><font style="font-family:Arial;font-size:10pt;">$68,076,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$39,279,000</font><font style="font-family:Arial;font-size:10pt;"> as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; treasury bills consist of debt securities issued by  the U.S. government; the Euro liquidity fund invests in a portfolio of investment-grade bonds; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; and agency bonds consist of domestic or foreign obligations of government agencies and government- sponsored enterprises that have government backing.  The Euro liquidity fund is denominated in Euros, and the remaining securities are denominated in U.S. Dollars.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16" rowspan="1"></td></tr><tr><td style="width:37%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortized</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Cost</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gains</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">141,216</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(65</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">141,188</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,623</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(27</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,201</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(47</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,175</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,173</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">326</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,313</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(15</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,298</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,900</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,903</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">169,911</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">406</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(365</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">169,952</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,392</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(152</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,280</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,968</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(47</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,946</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,704</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(125</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,585</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,310</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,339</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,236</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,233</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">665,464</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">913</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(848</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">665,529</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24" rowspan="1"></td></tr><tr><td style="width:35%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized Loss</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Position For Less than</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized Loss<br clear="none"/>Position For Greater than<br clear="none"/>12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized<br clear="none"/>Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized<br clear="none"/>Losses</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">117,853</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(400</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,931</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(30</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">132,784</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(430</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">99,358</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(199</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">99,358</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(199</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,429</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(70</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,998</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">51,427</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(74</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,687</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(140</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,687</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(140</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,028</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,028</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">294,355</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(814</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20,929</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(34</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">315,284</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(848</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;">, the Company did not recognize any other-than-temporary impairment of these investments. In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our intent and ability to hold the security to expected recovery of value, and other meaningful information.  The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before its effective maturity or market price recovery.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded gross realized gains on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$292,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$549,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$843,000</font><font style="font-family:Arial;font-size:10pt;"> in 2014, and gross realized losses on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$101,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$205,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$170,000</font><font style="font-family:Arial;font-size:10pt;"> in 2014.  These gains and losses are included in "Investment income" on the Consolidated Statement of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&#8217; equity as other comprehensive income (loss). </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the effective maturity dates of the Company&#8217;s available-for-sale investments as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="25" rowspan="1"></td></tr><tr><td style="width:34%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:7%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:7%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:7%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">&lt;1&#160;Year</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">1-2&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2-3&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">3-4&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">4-5&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">141,188</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">84,007</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77,975</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,211</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,759</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">311,140</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,175</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,280</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">159,455</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,957</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,372</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,530</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">87</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,560</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,298</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">19,007</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,578</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,883</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,903</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,614</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,725</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,242</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,233</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,750</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">341,194</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">213,098</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">92,650</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,741</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,846</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">665,529</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company is a Limited Partner in Venrock Associates III, L.P. (Venrock), a venture capital fund.  The Company has committed to a total investment in the limited partnership of up to </font><font style="font-family:Arial;font-size:10pt;">$20,500,000</font><font style="font-family:Arial;font-size:10pt;"> with an expiration date of December 31, 2017.  The Company does not have the right to withdraw from the partnership prior to this date.  As of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, the Company contributed </font><font style="font-family:Arial;font-size:10pt;">$19,886,000</font><font style="font-family:Arial;font-size:10pt;"> to the partnership.  The remaining commitment of </font><font style="font-family:Arial;font-size:10pt;">$614,000</font><font style="font-family:Arial;font-size:10pt;"> can be called by Venrock at any time before December&#160;31, 2017.  Contributions and distributions are at the discretion of Venrock&#8217;s management.  </font><font style="font-family:Arial;font-size:10pt;">No</font><font style="font-family:Arial;font-size:10pt;"> contributions were made in 2016.  The Company received cash distributions totaling </font><font style="font-family:Arial;font-size:10pt;">$2,257,000</font><font style="font-family:Arial;font-size:10pt;"> in 2016, of which </font><font style="font-family:Arial;font-size:10pt;">$942,000</font><font style="font-family:Arial;font-size:10pt;"> was accounted for as a return of capital, reducing the carrying value of this investment to zero, with the remaining </font><font style="font-family:Arial;font-size:10pt;">$1,315,000</font><font style="font-family:Arial;font-size:10pt;"> recorded as investment income.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for cash, cash equivalents, investments in debt and equity instruments (including cost and equity investees and related income statement amounts), equity and cost method investments, investments in joint ventures and any other investment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836922992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Inventories</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:67%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Raw materials</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,224</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,301</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Work-in-process</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,760</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,136</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Finished goods</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,897</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,984</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,334</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836936400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant, and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, Plant, and Equipment</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Property, Plant, and Equipment</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:65%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Land</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Buildings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">23,280</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,439</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Building improvements</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28,049</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25,741</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Leasehold improvements</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,237</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,999</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Computer hardware and software</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39,409</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,350</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Manufacturing test equipment</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,726</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,201</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Furniture and fixtures</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,843</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,401</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">123,495</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">114,082</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Less: accumulated depreciation</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(69,503</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(60,797</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">53,992</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">53,285</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The cost of property, plant, and equipment totaling </font><font style="font-family:Arial;font-size:10pt;">$3,191,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">$2,285,000</font><font style="font-family:Arial;font-size:10pt;"> was removed from both the asset and accumulated depreciation balances in </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2015</font><font style="font-family:Arial;font-size:10pt;">, respectively.  Gains and losses on these disposals were immaterial in both periods.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Buildings include rental property with a cost basis of </font><font style="font-family:Arial;font-size:10pt;">$5,750,000</font><font style="font-family:Arial;font-size:10pt;"> as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and accumulated depreciation of </font><font style="font-family:Arial;font-size:10pt;">$2,922,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$2,775,000</font><font style="font-family:Arial;font-size:10pt;"> as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13-14)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64862545&amp;loc=d3e2921-110230<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6660147312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillDisclosureTextBlock', window );">Goodwill</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Goodwill</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the carrying value of goodwill were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:84%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77,388</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of Manatee Works, Inc. </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,060</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">81,448</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of AQSense, S.L. </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,383</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of EnShape GmbH</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,613</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of Chiaro Technologies LLC </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,911</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of Webscan, Inc.</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">925</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">95,280</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Refer to Note 20 to the Consolidated Financial Statements for further information regarding acquisitions.  </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  Goodwill assigned to SISD was </font><font style="font-family:Arial;font-size:10pt;">$4,301,000</font><font style="font-family:Arial;font-size:10pt;"> and was included as part of the sale.  The Company had previously identified SISD, along with its Modular Vision Systems Division (MVSD), as reporting units for purposes of its goodwill impairment test.  Given the disposition of SISD, management reviewed its reporting units and concluded that the Company now has one reporting unit</font><font style="font-family:inherit;font-size:10pt;">.</font><font style="font-family:Arial;font-size:10pt;"> </font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For its </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;"> analysis of goodwill, management elected to perform a qualitative assessment (commonly known as &#8220;step zero&#8221;).  Based upon this assessment, management does not believe that it is more likely than not that the carrying value of the reporting unit exceeds its fair value.  Factors that management considered in the qualitative assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, and changes in the composition or carrying amount of net assets. In addition, management took into consideration the goodwill valuation as of October 4, 2010, which was the last time it was performed under the two-step process.  At that time, this analysis indicated that the fair value of the MVSD reporting unit exceeded its carrying value by approximately </font><font style="font-family:Arial;font-size:10pt;">208%</font><font style="font-family:Arial;font-size:10pt;">.  As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, management does not believe any qualitative factors exist that would change the conclusion of their assessment.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6837015184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible Assets</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intangible Assets</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37,422</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">638</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,605</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,836</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,769</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,003</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,098</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,905</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">52,668</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">44,356</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,312</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,051</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,009</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,880</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,749</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,340</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,165</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,175</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,280</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40,965</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,315</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Estimated amortization expense for each of the five succeeding fiscal years and thereafter is as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,311</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,770</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,395</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">971</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">794</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,071</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,312</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16373-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836880144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accrued Expenses</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accrued Expenses</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:65%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Company bonuses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,462</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,895</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Salaries, commissions, and payroll taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,193</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,859</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vacation</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,860</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,482</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,335</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,174</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign retirement obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,388</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,249</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,301</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,613</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,539</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,272</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,086</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,383</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,873</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(422</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,174</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,001</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,689</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(151</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,335</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a),20,24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836881920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Commitments and Contingencies</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Commitments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2016</font><font style="font-family:Arial;font-size:10pt;">, the Company had outstanding purchase orders totaling </font><font style="font-family:Arial;font-size:10pt;">$3,352,000</font><font style="font-family:Arial;font-size:10pt;"> to purchase inventory from various vendors.  Certain of these purchase orders may be canceled by the Company, subject to cancellation penalties. These purchase commitments relate to expected sales in 2017.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company conducts certain of its operations in leased facilities.  These lease agreements expire at various dates through 2024 and are accounted for as operating leases.  Certain of these leases contain renewal options, retirement obligations, escalation clauses, rent holidays, and leasehold improvement incentives.  Annual rental expense totaled </font><font style="font-family:Arial;font-size:10pt;">$6,090,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$5,778,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$5,560,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Future minimum rental payments under these agreements are as follows (in thousands):</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.41520467836257%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:84%;" rowspan="1" colspan="1"></td><td style="width:3%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,054</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,303</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,164</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,853</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,735</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,498</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">15,607</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company owns buildings adjacent to its corporate headquarters that are partially occupied with tenants who have lease agreements that expire at various dates through 2021.  Annual rental income totaled </font><font style="font-family:Arial;font-size:10pt;">$1,911,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$1,921,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$1,794,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  Rental income and related expenses are included in &#8220;Other income (expense)&#8221; on the Consolidated Statements of Operations.  Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:84%;" rowspan="1" colspan="1"></td><td style="width:3%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">812</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">530</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">543</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">557</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">187</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,629</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Contingencies</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In March 2013, the Company filed a lawsuit against Microscan Systems, Inc. (&#8220;Microscan&#8221;) and Code Corporation ("Code") in the United States District Court for the Southern District of New York alleging that Microscan&#8217;s Mobile Hawk handheld imager infringes U.S. Patent 7,874,487 owned by the Company (the "'487 patent&#8221;).  The lawsuit sought to prohibit Code from manufacturing the product, and Microscan from selling and distributing the product. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In August 2014, Microscan filed a lawsuit against the Company in the United States District Court for the Southern District of New York alleging that the Company&#8217;s DataMan</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;"> 8500 handheld imager infringes U.S. Patent 6,352,204 owned by Microscan  (the &#8220;'204 patent&#8221;).  The lawsuit sought to prohibit the Company from manufacturing, selling, and distributing the DataMan</font><font style="font-family:Arial;font-size:10pt;"><sup style="vertical-align:top;line-height:120%;font-size:6pt">&#174;</sup></font><font style="font-family:Arial;font-size:10pt;"> 7500, 8500, 8600, and 9500 products. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In June 2015, the Company executed a settlement agreement with Microscan requiring a payment by the Company of </font><font style="font-family:Arial;font-size:10pt;">$3,500,000</font><font style="font-family:Arial;font-size:10pt;"> which settles all outstanding litigation between the parties.  The settlement included a patent license agreement valued at </font><font style="font-family:Arial;font-size:10pt;">$1,667,000</font><font style="font-family:Arial;font-size:10pt;"> that allows the Company to continue producing current models of its handheld barcode readers, which was recorded as an asset and is being amortized to cost of revenue over the </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> year life of the patent.  The remaining </font><font style="font-family:Arial;font-size:10pt;">$1,833,000</font><font style="font-family:Arial;font-size:10pt;"> of the settlement was recorded as expense.  All cases were dismissed by the end of July 2015. In July 2015, the Company also executed an immaterial settlement agreement with Code.  This matter is now closed.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Various other claims and legal proceedings generally incidental to the normal course of business are pending or threatened on behalf of or against the Company.  While we cannot predict the outcome of these matters, we believe that any liability arising from them will not have a material adverse effect on our financial position, liquidity, or results of operations.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6449706&amp;loc=d3e16207-108621<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=25496072&amp;loc=d3e14435-108349<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=73718637&amp;loc=d3e25287-109308<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836816688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Indemnification Provisions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GuaranteesAbstract', window );"><strong>Guarantees [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IndemnificationProvisionsTextBlock', window );">Indemnification Provisions</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Indemnification Provisions</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Except as limited by Massachusetts law, the by-laws of the Company require it to indemnify certain current or former directors, officers, and employees of the Company against expenses incurred by them in connection with each proceeding in which he or she is involved as a result of serving or having served in certain capacities. Indemnification is not available with respect to a proceeding as to which it has been adjudicated that the person did not act in good faith in the reasonable belief that the action was in the best interests of the Company.  The maximum potential amount of future payments the Company could be required to make under these provisions is unlimited.  The Company has never incurred significant costs related to these indemnification provisions.  As a result, the Company believes the estimated fair value of these provisions is not material.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In the ordinary course of business, the Company may accept standard limited indemnification provisions in connection with the sale of its products, whereby it indemnifies its customers for certain direct damages incurred in connection with third-party patent or other intellectual property infringement claims with respect to the use of the Company&#8217;s products.  The maximum potential amount of future payments the Company could be required to make under these provisions is generally subject to fixed monetary limits.  The Company has never incurred significant costs to defend lawsuits or settle claims related to these indemnification provisions. As a result, the Company believes the estimated fair value of these provisions is not material.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In the ordinary course of business, the Company also accepts limited indemnification provisions from time to time, whereby it indemnifies customers for certain direct damages incurred in connection with bodily injury and property damage arising from the use of the Company&#8217;s products.  The maximum potential amount of future payments the Company could be required to make under these provisions is generally limited and is likely recoverable under the Company&#8217;s insurance policies.  As a result of this coverage, and the fact that the Company has never incurred significant costs to defend lawsuits or settle claims related to these indemnification provisions, the Company believes the estimated fair value of these provisions is not material.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under the terms of the Company&#8217;s sale of its Surface Inspection Systems Division (SISD) to AMETEK, Inc., the Company has agreed to retain certain liabilities in connection with its business dealings occurring prior to the transaction closing date of July 6, 2015, and to indemnify AMETEK, Inc. in connection with these retained liabilities and for any breach of the representations and warranties made by the Company to AMETEK, Inc. in connection with the sale agreement itself, as is usual and customary in such transactions.  A binding arbitration was concluded in the second quarter of 2016 with respect to certain product performance claims made by an SISD customer, for which the Company remained responsible under the indemnity provisions of the sale transaction.  In that proceeding, the tribunal ordered the Company to pay the customer approximately </font><font style="font-family:Arial;font-size:10pt;">$326,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing a refund of the product purchase price.  The tribunal also ordered the customer to pay the Company approximately </font><font style="font-family:Arial;font-size:10pt;">$45,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing reimbursement of legal fees.  The net settlement of </font><font style="font-family:Arial;font-size:10pt;">$281,000</font><font style="font-family:Arial;font-size:10pt;"> was recorded in discontinued operations in the second quarter of 2016.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_IndemnificationProvisionsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indemnification provisions are a potential liability whereby the Company indemnifies certain directors, officers, and employees (current or former) against expenses incurred by them in relation to specific legal proceedings. The company also indemnifies other parties for specific situations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_IndemnificationProvisionsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GuaranteesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GuaranteesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836849232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Derivative Instruments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Derivative Instruments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s foreign currency risk management strategy is principally designed to mitigate the potential financial impact of changes in the value of transactions and balances denominated in foreign currencies resulting from changes in foreign currency exchange rates.  Currently, the Company enters into two types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">45 days</font><font style="font-family:Arial;font-size:10pt;"> to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as hedging instruments for hedge accounting treatment.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">18 months</font><font style="font-family:Arial;font-size:10pt;"> to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting our budgeted revenues and expenses against foreign currency exchange rate changes compared to our budgeted rates.  These cash flow hedges are designated as hedging instruments for hedge accounting treatment.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands): </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2015</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Currency</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Notional Value</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">USD Equivalent</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Notional Value</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">USD Equivalent</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">United States Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,720</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,720</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">342,500</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,960</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">942,500</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,605</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">130</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">547,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,893</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,063</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,425</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Canadian Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">34</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="12" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">650,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,554</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">700,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,800</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,658</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,441</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,750,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,450</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,400,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,187</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">425,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,448</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">250,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">857</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">929</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,525</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,074</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">802</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,425</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">800</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20" rowspan="1"></td></tr><tr><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" colspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Balance</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Sheet</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Location&#160; &#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" colspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Balance</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Sheet</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Location&#160; &#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2015</font></div></td></tr><tr><td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">expenses&#160;and</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">other current</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">43</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">441</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">201</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">43</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="19" rowspan="1"></td></tr><tr><td style="width:18%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:19%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December&#160;31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December&#160;31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2015</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">117</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">479</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">279</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(73</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(29</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(35</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of assets presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">44</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">450</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">244</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments, net of the underlying exposure, on the consolidated financial statements was as follows (in thousands):</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="14" rowspan="1"></td></tr><tr><td style="width:22%;" rowspan="1" colspan="1"></td><td style="width:24%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Location in Financial Statements</font></div></td><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December 31,</font></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recorded in shareholders' equity (effective portion)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive income (loss), net of tax</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">206</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(438</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(387</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(14</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(42</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(398</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(201</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(46</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(515</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">247</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the changes in accumulated other comprehensive income (loss), net of tax, related to derivative instruments (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:79%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:19%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized loss on cash flow hedges</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(27</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized loss on cash flow hedges into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">201</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">206</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized loss on cash flow hedges</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(567</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized loss on cash flow hedges into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">398</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net gains expected to be reclassified from accumulated other comprehensive income (loss), net of tax, into current operations within the next </font><font style="font-family:Arial;font-size:10pt;">twelve months</font><font style="font-family:Arial;font-size:10pt;"> are </font><font style="font-family:Arial;font-size:10pt;">$37,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6441202&amp;loc=d3e80720-113993<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=d3e41620-113959<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624163-113959<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5579240-113959<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4D<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624177-113959<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=35736893&amp;loc=d3e80784-113994<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=d3e41641-113959<br><br>Reference 9: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5579245-113959<br><br>Reference 10: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4H<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624258-113959<br><br>Reference 11: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=35736893&amp;loc=d3e80748-113994<br><br>Reference 12: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4K<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5708775-113959<br><br>Reference 13: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4J<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5708773-113959<br><br>Reference 14: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5618551-113959<br><br>Reference 15: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5580258-113959<br><br>Reference 16: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4E<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624181-113959<br><br>Reference 17: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 25<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6886632&amp;loc=d3e76258-113986<br><br>Reference 18: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=d3e41638-113959<br><br>Reference 19: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(n))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836837024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Shareholders' Equity<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Shareholders&#8217; Equity</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shareholders&#8217; Equity</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Preferred Stock</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has </font><font style="font-family:Arial;font-size:10pt;">400,000</font><font style="font-family:Arial;font-size:10pt;"> shares of authorized but unissued </font><font style="font-family:Arial;font-size:10pt;">$.01</font><font style="font-family:Arial;font-size:10pt;"> par value preferred stock.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Common Stock</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On April 28, 2016, the Company's shareholders approved an amendment to the Company's Articles of Organization to increase the authorized number of shares of common stock from </font><font style="font-family:Arial;font-size:10pt;">140,000,000</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">200,000,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Each outstanding share of common stock entitles the record holder to </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;"> vote on all matters submitted to a vote of the Company&#8217;s shareholders.  Common shareholders are also entitled to dividends when and if declared by the Company&#8217;s Board of Directors.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Shareholder Rights Plan</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has adopted a Shareholder Rights Plan, the purpose of which is, among other things, to enhance the Board of Directors&#8217; ability to protect shareholder interests and to ensure that shareholders receive fair treatment in the event any coercive takeover attempt of the Company is made in the future.  The Shareholder Rights Plan could make it more difficult for a third party to acquire, or could discourage a third party from acquiring, the Company or a large block of the Company&#8217;s common stock.  The following summary description of the Shareholder Rights Plan does not purport to be complete and is qualified in its entirety by reference to the Company&#8217;s Shareholder Rights Plan, which has been previously filed by the Company with the Securities and Exchange Commission as an exhibit to a Registration Statement on Form&#160;8-A filed on December&#160;5, 2008.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In connection with the adoption of the Shareholder Rights Plan, the Board of Directors of the Company declared a dividend distribution of </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;">  purchase right (a &#8220;Right&#8221;) for each outstanding share of common stock to shareholders of record as of the close of business on December&#160;5, 2008.  The Rights currently are not exercisable and are attached to and trade with the outstanding shares of common stock. Under the Shareholder Rights Plan, the Rights become exercisable if a person becomes an &#8220;acquiring person&#8221; by acquiring </font><font style="font-family:Arial;font-size:10pt;">15%</font><font style="font-family:Arial;font-size:10pt;"> or more of the outstanding shares of common stock or if a person commences a tender offer that would result in that person owning </font><font style="font-family:Arial;font-size:10pt;">15%</font><font style="font-family:Arial;font-size:10pt;"> or more of the common stock.  If a person becomes an &#8220;acquiring person,&#8221; each holder of a Right (other than the acquiring person) would be entitled to purchase, at the then-current exercise price, such number of shares of the Company&#8217;s preferred stock which are equivalent to shares of common stock having twice the exercise price of the Right.  If the Company is acquired in a merger or other business combination transaction after any such event, each holder of a Right would then be entitled to purchase, at the then-current exercise price, shares of the acquiring company&#8217;s common stock having a value of twice the exercise price of the Right.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock Repurchases</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In August 2015, the Company's Board of Directors authorized the repurchase of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;"> of the Company's common stock.  As of December 31, 2016, the Company repurchased </font><font style="font-family:Arial;font-size:10pt;">2,666,000</font><font style="font-family:Arial;font-size:10pt;"> shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;"> under this program, including </font><font style="font-family:Arial;font-size:10pt;">355,000</font><font style="font-family:Arial;font-size:10pt;"> shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$16,064,000</font><font style="font-family:Arial;font-size:10pt;"> in 2016.  Stock repurchases under this August 2015 program are now complete.  In November 2015, the Company's Board of Directors authorized the repurchase of an additional </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;"> of the Company's common stock.  Purchases under this November 2015 program commenced in  2016 upon completion of the August 2015 program.  As of December 31, 2016, the Company repurchased </font><font style="font-family:Arial;font-size:10pt;">539,000</font><font style="font-family:Arial;font-size:10pt;"> shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$31,085,000</font><font style="font-family:Arial;font-size:10pt;"> under this program, leaving a remaining authorized balance of </font><font style="font-family:Arial;font-size:10pt;">$68,915,000</font><font style="font-family:Arial;font-size:10pt;">.  Total stock repurchases in 2016 amounted to </font><font style="font-family:Arial;font-size:10pt;">$47,149,000</font><font style="font-family:Arial;font-size:10pt;">.  The Company may repurchase shares under this program in future periods depending on a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Dividends</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s Board of Directors declared and paid cash dividends of </font><font style="font-family:Arial;font-size:10pt;">$0.07</font><font style="font-family:Arial;font-size:10pt;"> per share in the second, third, and fourth quarters of 2015, as well as in the first quarter of 2016.  The dividend was increased to </font><font style="font-family:Arial;font-size:10pt;">$0.075</font><font style="font-family:Arial;font-size:10pt;"> in the second, third, and fourth quarters of 2016.  Total cash dividends paid in 2016 amounted to </font><font style="font-family:Arial;font-size:10pt;">$25,213,000</font><font style="font-family:Arial;font-size:10pt;">.  The cash dividend in the second quarter of 2015 was the first dividend declared and paid since the fourth quarter of 2012 when the Company&#8217;s Board of Directors accelerated dividends in advance of an increase in the federal tax on dividends paid after December 31, 2012.  Due to these accelerated payments, no cash dividends were declared or paid in 2013, 2014, or the first quarter of 2015.  Future dividends will be declared at the discretion of the Company's Board of Directors and will depend upon such factors as the Board deems relevant, including, among other things, the Company's ability to generate positive cash flow from operations.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74567-122707<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21484-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21488-112644<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SAB Topic 4.C)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187143-122770<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 9: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21506-112644<br><br>Reference 10: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 11: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 12: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23285-112656<br><br>Reference 13: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21475-112644<br><br>Reference 14: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Preferred Stock<br> -URI http://asc.fasb.org/extlink&amp;oid=6521494<br><br>Reference 15: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br><br>Reference 16: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21564-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836849232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock-Based Compensation</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Stock-Based Compensation</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock Option Plans</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  As of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, the Company had </font><font style="font-family:Arial;font-size:10pt;">8,078,751</font><font style="font-family:Arial;font-size:10pt;"> shares available for grant.  Stock options are granted with an exercise price equal to the market value of the Company&#8217;s common stock at the grant date and generally vest over </font><font style="font-family:Arial;font-size:10pt;">four</font><font style="font-family:Arial;font-size:10pt;"> years based upon continuous service and expire </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;"> years from the grant date.  Conditions of restricted stock awards may be based upon continuing employment and/or achievement of pre-established performance goals and objectives.  Vesting for performance-based restricted stock awards and time-based restricted stock awards must be greater than one year and three years, respectively.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity:</font></div><div style="line-height:120%;padding-bottom:6px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="13" rowspan="1"></td></tr><tr><td style="width:45%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(in&#160;thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Exercise</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Price</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Remaining</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Contractual</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Term</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(in&#160;years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Aggregate</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Intrinsic Value</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(in&#160;thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,644</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">28.27</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,930</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35.58</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercised</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,977</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21.99</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(164</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37.45</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,433</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">32.16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">202,368</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercisable as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,037</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">22.21</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.3</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">84,359</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of&#160;<br clear="none"/>&#160;December 31, 2016 (1)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,837</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">31.52</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">187,350</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;padding-left:4px;padding-top:12px;text-align:left;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:56%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Risk-free rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.6</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected dividend yield</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.83</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.25</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected volatility</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected term (in years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.6</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Risk-free rate</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The risk-free rate was based upon a treasury instrument whose term was consistent with the contractual term of the option.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected dividend yield</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&#8217;s Board of Directors and dividing that result by the closing stock price on the grant date.&#160;</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected volatility</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The expected volatility was based upon a combination of historical volatility of&#160;the Company&#8217;s&#160;common stock over the contractual term of the option and implied volatility for traded options of the Company&#8217;s stock.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected term</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company stratifies its employee population into </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;"> groups: one consisting of senior management and another consisting of all other employees.  The Company currently expects that approximately </font><font style="font-family:Arial;font-size:10pt;">77%</font><font style="font-family:Arial;font-size:10pt;"> of its stock options granted to senior management and </font><font style="font-family:Arial;font-size:10pt;">72%</font><font style="font-family:Arial;font-size:10pt;"> of its options granted to all other employees will actually vest.  Therefore, the Company currently applies an estimated forfeiture rate of </font><font style="font-family:Arial;font-size:10pt;">9%</font><font style="font-family:Arial;font-size:10pt;"> to all unvested options for senior management and a rate of </font><font style="font-family:Arial;font-size:10pt;">11%</font><font style="font-family:Arial;font-size:10pt;"> for all other employees.  The Company revised its estimated forfeiture rates in the first quarter of </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, resulting in an increase to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$334,000</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$461,000</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$288,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair value of stock options granted was </font><font style="font-family:Arial;font-size:10pt;">$12.65</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$14.35</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$15.97</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total intrinsic value of stock options exercised was </font><font style="font-family:Arial;font-size:10pt;">$55,580,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$43,987,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$31,884,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">. The total fair value of stock options vested was </font><font style="font-family:Arial;font-size:10pt;">$18,114,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$16,227,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$11,627,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, total unrecognized compensation expense related to non-vested stock options was </font><font style="font-family:Arial;font-size:10pt;">$19,742,000</font><font style="font-family:Arial;font-size:10pt;">, which is expected to be recognized over a weighted-average period of </font><font style="font-family:Arial;font-size:10pt;">1.52</font><font style="font-family:Arial;font-size:10pt;"> years.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's restricted stock activity: </font></div><div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11" rowspan="1"></td></tr><tr><td style="width:46%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average       Grant Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate Intrinsic Value                  (in thousands) (1)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">34.05</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vested</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">34.05</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,272</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">  &#160;&#160;&#160;&#160;(1) Fair market value as of December 31, 2016.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of restricted stock awards granted were determined based upon the market value of the Company's common stock at the time of grant.  The initial cost is then amortized over the period of vesting until the restrictions lapse.  These restricted shares will be fully vested in 2018.  Participants are entitled to dividends on restricted stock awards, but only receive those amounts if the shares vest.  The sale or transfer of these shares is restricted during the vesting period.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total stock-based compensation expense and the related income tax benefit recognized was </font><font style="font-family:Arial;font-size:10pt;">$20,558,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$6,747,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$21,274,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$7,127,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$15,158,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$4,977,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  No compensation expense was capitalized in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, or </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,052</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,515</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,116</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,271</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,194</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,709</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,235</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,032</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,234</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,533</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20,558</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,274</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,158</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Upon the sale of the Company's Surface Inspection Systems Division, completed on July 6, 2015, the Company accelerated the vesting of stock options with respect to </font><font style="font-family:Arial;font-size:10pt;">190,000</font><font style="font-family:Arial;font-size:10pt;"> underlying shares, resulting in an additional </font><font style="font-family:Arial;font-size:10pt;">$1,106,000</font><font style="font-family:Arial;font-size:10pt;"> of stock option expense recorded in the third quarter of 2015.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for compensation-related costs for equity-based compensation, which may include disclosure of policies, compensation plan details, allocation of equity compensation, incentive distributions, equity-based arrangements to obtain goods and services, deferred compensation arrangements, employee stock ownership plan details and employee stock purchase plan details.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 40<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=65895303&amp;loc=d3e17540-113929<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 50<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68057994&amp;loc=d3e25284-112666<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5047-113901<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5444-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6659667344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Savings Plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Compensation and Retirement Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Employee Savings Plan</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Employee Savings Plan</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under the Company&#8217;s Employee Savings Plan, a defined contribution plan, U.S. employees who have attained age </font><font style="font-family:Arial;font-size:10pt;">21</font><font style="font-family:Arial;font-size:10pt;"> may contribute up to 25% of their pay on a pre-tax basis subject to the annual dollar limitations established by the Internal Revenue Service.  The Company currently matches 50% of the first </font><font style="font-family:Arial;font-size:10pt;">6%</font><font style="font-family:Arial;font-size:10pt;"> of pay an employee contributes. Company contributions vest </font><font style="font-family:Arial;font-size:10pt;">20%</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">40%</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">60%</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">100%</font><font style="font-family:Arial;font-size:10pt;"> after two, three, four, and five years of continuous employment with the Company, respectively.  Company contributions totaled </font><font style="font-family:Arial;font-size:10pt;">$1,712,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$1,845,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$1,555,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  Cognex stock is not an investment alternative and Company contributions are not made in the form of Cognex stock.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for pension and other postretirement benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 80<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=65877416&amp;loc=SL14450702-114947<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65897934&amp;loc=d3e2410-114920<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6414203&amp;loc=d3e39675-114964<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 60<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66047640&amp;loc=d3e39622-114963<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822367264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Taxes</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Taxes</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Domestic income from continuing operations before taxes was </font><font style="font-family:Arial;font-size:10pt;">$23,939,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$11,637,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$25,585,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  Foreign income from continuing operations before taxes was </font><font style="font-family:Arial;font-size:10pt;">$144,856,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$115,325,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$106,171,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  </font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense on continuing operations consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Current:</font></div></td><td colspan="11" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Federal</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">14,459</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,430</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18,852</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(617</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">378</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">608</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,149</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,946</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,854</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21,991</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,754</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">24,314</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Federal</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(3,031</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,541</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,569</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,066</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(165</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,058</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">250</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(837</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(3,023</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,456</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,399</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,968</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">19,298</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20,915</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company records income tax expense on undistributed earnings that the Company does not intend to be indefinitely reinvested outside of the U.S.  Substantially all of the Company&#8217;s undistributed international earnings intended to be indefinitely reinvested outside of the U.S. were generated by subsidiaries organized in Ireland, which has a statutory tax rate of&#160;</font><font style="font-family:Arial;font-size:10pt;">12.5%</font><font style="font-family:Arial;font-size:10pt;">.  As of&#160;December&#160;31, 2016, U.S. income tax expense had not been recorded on a cumulative total of&#160;</font><font style="font-family:Arial;font-size:10pt;">$498,238,000</font><font style="font-family:Arial;font-size:10pt;">&#160;of such earnings.  The amount of unrecognized deferred tax liability related to these temporary differences is estimated to be </font><font style="font-family:Arial;font-size:10pt;">$151,966,000</font><font style="font-family:Arial;font-size:10pt;">.  As of&#160;December&#160;31, 2016&#160;and&#160;December&#160;31, 2015,&#160;respectively,</font><font style="font-family:Arial;font-size:10pt;">$437,691,000</font><font style="font-family:Arial;font-size:10pt;">&#160;and&#160;</font><font style="font-family:Arial;font-size:10pt;">$352,621,000</font><font style="font-family:Arial;font-size:10pt;">, of the Company&#8217;s cash, cash equivalents and investments were held by foreign subsidiaries and are generally denominated in U.S. dollars.  Amounts held by foreign subsidiaries are generally subject to U.S. income taxation on repatriation to the U.S.</font></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A reconciliation of the U.S. federal statutory corporate tax rate to the Company&#8217;s income tax expense on continuing operations, or effective tax rate, was as follows:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:56%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision at federal statutory corporate tax rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(17</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(19</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(19</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Tax credit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to employee stock option exercises</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other discrete tax events</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision on continuing operations</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of income earned outside of the United States is permanently reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major jurisdictions as the United States, Ireland, and China.  The statutory tax rate is </font><font style="font-family:Arial;font-size:10pt;">12.5%</font><font style="font-family:Arial;font-size:10pt;"> in Ireland and </font><font style="font-family:Arial;font-size:10pt;">25%</font><font style="font-family:Arial;font-size:10pt;"> in China. International rights to certain of the Company&#8217;s intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate lower than the above mentioned statutory rates.  These differences result in a decrease in the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">17</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">19</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">19</font><font style="font-family:Arial;font-size:10pt;"> percentage points in 2016, 2015, and 2014, respectively.</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2016, the Company adopted Accounting Standards Update 2016-09, "Improvements to Employee Share-Based Payment Accounting," which was issued by the Financial Accounting Standards Board in March 2016. &#160;This Update requires excess tax benefits to be recognized as an income tax benefit in the income statement. &#160;Previous guidance required excess tax benefits to be recognized as additional paid-in-capital in shareholders' equity on the balance sheet.  This provision is required to be applied prospectively and therefore, prior periods were not restated.  As a result of this change, income tax expense was reduced by </font><font style="font-family:Arial;font-size:10pt;">$11,889,000</font><font style="font-family:Arial;font-size:10pt;">, resulting in a </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;"> percentage point decrease in the effective tax rate.  Additionally, this Update also requires excess tax benefits to be classified along with other income tax cash flows as an operating activity in the statement of cash flows.&#160; In order to improve comparability, the Company applied this provision of the amendment retrospectively.  In 2015 and 2014, the Company reclassified a tax benefit of </font><font style="font-family:Arial;font-size:10pt;">$9,964,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$7,871,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, from cash flows provided by financing activities to cash flows provided by operating activities on the consolidated statement of cash flows.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Interest and penalties included in income tax expense was </font><font style="font-family:Arial;font-size:10pt;">$92,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$34,000</font><font style="font-family:Arial;font-size:10pt;"> in 2016 and 2015, respectively.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the reserve for income taxes, excluding gross interest and penalties, were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance of reserve for income taxes as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,127</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in prior periods</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(56</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,291</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,066</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance of reserve for income taxes as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,296</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in prior periods</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,235</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(823</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance of reserve for income taxes as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,719</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was </font><font style="font-family:Arial;font-size:10pt;">$6,389,000</font><font style="font-family:Arial;font-size:10pt;"> as of December 31, 2016, which included </font><font style="font-family:Arial;font-size:10pt;">$5,361,000</font><font style="font-family:Arial;font-size:10pt;"> classified as a non-current liability and </font><font style="font-family:Arial;font-size:10pt;">$1,028,000</font><font style="font-family:Arial;font-size:10pt;"> recorded as a reduction to non-current deferred tax assets.  The Company's reserve for income taxes, including gross interest and penalties, was </font><font style="font-family:Arial;font-size:10pt;">$5,858,000</font><font style="font-family:Arial;font-size:10pt;"> as of December 31, 2015, which included </font><font style="font-family:Arial;font-size:10pt;">$4,830,000</font><font style="font-family:Arial;font-size:10pt;"> classified as a non-current liability and </font><font style="font-family:Arial;font-size:10pt;">$1,028,000</font><font style="font-family:Arial;font-size:10pt;"> recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was </font><font style="font-family:Arial;font-size:10pt;">$670,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$562,000</font><font style="font-family:Arial;font-size:10pt;"> as of December&#160;31, 2016 and December&#160;31, 2015, respectively.  If the Company&#8217;s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.  As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately </font><font style="font-family:Arial;font-size:10pt;">$950,000</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">$1,050,000</font><font style="font-family:Arial;font-size:10pt;"> over the next twelve months.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts and California.  Within the United States, the tax years 2013 through 2016 remain open to examination by the Internal Revenue Service and various state taxing authorities.  The tax years 2012 through 2016 remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2011, the Company finalized an Advanced Pricing Agreement (APA) with Japan that will cover tax years 2006 through 2011, with a requested extension to 2012.  The Company has concluded negotiations for an APA between Japan and Ireland that will cover tax years 2014 through 2018 with retroactive application to 2013.  The Company believes it is adequately reserved for these open years.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred tax assets and liabilities consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:67%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-current deferred tax assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">15,365</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,895</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Federal and state tax credit carryforwards</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,154</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,091</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventory and revenue related</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,919</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,985</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Depreciation</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,882</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,328</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Bonuses, commissions, and other compensation</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,483</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,500</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,714</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,175</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross non-current deferred tax assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">32,517</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,974</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-current deferred tax liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nondeductible intangible assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(379</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,198</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross non-current deferred tax liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(379</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,198</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Valuation allowance</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(4,116</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,259</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net non-current deferred tax assets</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28,022</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,517</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-current deferred tax liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;&#160;Other</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(319</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net non-current deferred tax liabilities</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(319</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2016, the Company adopted Accounting Standards Update 2015-17, "Income Taxes - Balance Sheet Classification of Deferred Taxes."&#160; This Update requires that deferred tax assets and liabilities be classified as non-current in a classified balance sheet. &#160;In order to improve comparability, the Company applied the amendments in this Update retrospectively to all periods presented.  As of December 31, 2015, the Company reclassified current deferred income tax assets and liabilities of </font><font style="font-family:Arial;font-size:10pt;">$7,104,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$319,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, to non-current on the Consolidated Balance Sheets.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded certain intangible assets as a result of the acquisition of DVT Corporation in 2005.  The amortization of these intangible assets is not deductible for U.S. tax purposes.  A deferred tax liability was established to reflect the federal and state liability associated with not deducting the acquisition-related amortization expenses. The balance of this liability was </font><font style="font-family:Arial;font-size:10pt;">$379,000</font><font style="font-family:Arial;font-size:10pt;"> as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In 2016, the Company recorded a valuation allowance of </font><font style="font-family:Arial;font-size:10pt;">$857,000</font><font style="font-family:Arial;font-size:10pt;"> for state research and development tax credits that were not considered to be realizable.  Should these credits be utilized in a future period, the reserve associated with these credits would be reversed in the period when it is determined that the credits can be utilized to offset future state income tax liabilities.  In addition, the Company had </font><font style="font-family:Arial;font-size:10pt;">$6,181,000</font><font style="font-family:Arial;font-size:10pt;"> of state research and development tax credit carryforwards, net of federal tax, as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, which will begin to expire in 2019.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">While the deferred tax assets, net of valuation allowance, are not assured of realization, management has evaluated the realizability of these deferred tax assets and has determined that it is more likely than not that these assets will be realized.  In reaching this conclusion, we have evaluated certain relevant criteria including the Company&#8217;s historical profitability, current projections of future profitability, and the lives of tax credits, net operating losses, and other carryforwards.  Should the Company fail to generate sufficient pre-tax profits in future periods, we may be required to establish valuation allowances against these deferred tax assets, resulting in a charge to current operations in the period of determination.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  A pre-tax gain of  </font><font style="font-family:Arial;font-size:10pt;">$125,357,000</font><font style="font-family:Arial;font-size:10pt;"> and associated income tax expense of </font><font style="font-family:Arial;font-size:10pt;">$47,175,000</font><font style="font-family:Arial;font-size:10pt;"> was recorded in 2015.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash paid for income taxes totaled </font><font style="font-family:Arial;font-size:10pt;">$20,748,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$58,280,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$17,549,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.  The 2015 income tax payments included remittances related to the sale of SISD.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32559-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32718-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6659390624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted Average Shares<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Weighted Average Shares</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted Average Shares</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:56%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">85,338</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,296</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,858</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Effect of dilutive stock options</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,734</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,695</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,213</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted weighted-average common and common-equivalent shares outstanding</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">87,072</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">87,991</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">89,071</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock options to purchase </font><font style="font-family:Arial;font-size:10pt;">2,195,799</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">3,035,078</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">1,286,403</font><font style="font-family:Arial;font-size:10pt;"> shares of common stock, on a weighted-average basis, were outstanding in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, respectively, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1278-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1252-109256<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=65016374&amp;loc=d3e4984-109258<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822459168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment and Geographic Information</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Segment and Geographic Information</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD).  Prior to this date, the Company had reported SISD as one of its </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;"> segments.  Given the disposition of the SISD segment, management reviewed its segment reporting and concluded that the Company now operates in </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;"> segment, machine vision technology.  Operating segments were not aggregated in reaching this conclusion.  The Company&#8217;s chief operating decision maker is the chief executive officer, who makes decisions to allocate resources and assesses performance at the corporate level.  The Company offers a variety of machine vision products that have similar economic characteristics, have the same production processes, and are distributed by the same sales channels to the same types of customers.</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes information about geographic areas (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="20" rowspan="1"></td></tr><tr><td style="width:31%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">United&#160;States</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Europe</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Greater China </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Other</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Year Ended December 31, 2016</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">136,611</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">231,731</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">63,471</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88,940</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">520,753</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-lived assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">40,404</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,981</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">994</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,932</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,311</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Year Ended December 31, 2015</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">119,781</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">199,127</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">54,137</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77,512</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">450,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-lived assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40,742</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,498</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">873</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,781</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,894</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Year Ended December 31, 2014</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">120,523</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">195,214</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,184</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">72,528</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">426,449</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-lived assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,750</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,941</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">858</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,919</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,468</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue is presented geographically based upon the customer&#8217;s country of domicile.  Revenue from a single customer accounted for </font><font style="font-family:Arial;font-size:10pt;">19%</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">18%</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">16%</font><font style="font-family:Arial;font-size:10pt;"> of total revenue in 2016, 2015, and 2014, respectively.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 34<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8981-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e9038-108599<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 33<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8971-108599<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8595-108599<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8380-108599<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 32<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8933-108599<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8844-108599<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 35<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8984-108599<br><br>Reference 9: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e9031-108599<br><br>Reference 10: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 42<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e9054-108599<br><br>Reference 11: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8538-108599<br><br>Reference 12: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 29<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8864-108599<br><br>Reference 13: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8924-108599<br><br>Reference 14: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6809744208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued Operations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract', window );"><strong>Discontinued Operations and Disposal Groups [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationsPolicyTextBlock', window );">Discontinued Operations</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Discontinued Operations</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 6, 2015, the Company completed the sale of its Surface Inspection Systems Division (SISD) to AMETEK, Inc. (AMETEK) for </font><font style="font-family:Arial;font-size:10pt;">$155,655,000</font><font style="font-family:Arial;font-size:10pt;"> in cash.  Transaction costs totaled </font><font style="font-family:Arial;font-size:10pt;">$5,198,000</font><font style="font-family:Arial;font-size:10pt;"> and included $</font><font style="font-family:Arial;font-size:10pt;">1,106,000</font><font style="font-family:Arial;font-size:10pt;"> of stock option expense from the accelerated vesting of stock options in connection with the sale. </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The financial results of SISD are reported as a discontinued operation for all periods presented.  In 2015, a pre-tax gain of </font><font style="font-family:Arial;font-size:10pt;">$125,357,000</font><font style="font-family:Arial;font-size:10pt;"> and associated income tax expense of </font><font style="font-family:Arial;font-size:10pt;">$47,175,000</font><font style="font-family:Arial;font-size:10pt;"> was recorded in "Net income (loss) from discontinued operations" on the Consolidated Statements of Operations.  In 2016, a binding arbitration was concluded in the second quarter of 2016 with respect to certain product performance claims made by an SISD customer, for which the Company remained responsible under the indemnity provisions of the sale transaction.  In that proceeding, the tribunal ordered the Company to pay the customer approximately </font><font style="font-family:Arial;font-size:10pt;">$326,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing a refund of the product purchase price.  The tribunal also ordered the customer to pay the Company approximately </font><font style="font-family:Arial;font-size:10pt;">$45,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing reimbursement of legal fees.  The net settlement of </font><font style="font-family:Arial;font-size:10pt;">$281,000</font><font style="font-family:Arial;font-size:10pt;"> was recorded in discontinued operations in the second quarter of 2016, along with </font><font style="font-family:Arial;font-size:10pt;">$123,000</font><font style="font-family:Arial;font-size:10pt;"> of legal fees.  The tax benefit related to this expense was </font><font style="font-family:Arial;font-size:10pt;">$149,000</font><font style="font-family:Arial;font-size:10pt;">, resulting in a net loss from discontinued operations of </font><font style="font-family:Arial;font-size:10pt;">$255,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The major classes of revenue and expense included in discontinued operations were as follows (in thousands):</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13" rowspan="1"></td></tr><tr><td style="width:64%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Year Ended December 31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,248</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,821</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11,291</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(26,953</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,126</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4,089</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(7,800</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12,968</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency loss</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(177</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(170</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Operating income from discontinued business</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,854</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,641</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gain (loss) on sale of discontinued business</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(404</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">125,357</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income from discontinued operations before income tax expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(404</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">127,211</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,641</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense (benefit) on discontinued operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(149</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,801</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,997</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income (loss) from discontinued operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(255</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">79,410</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,644</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Significant non-cash items related to the discontinued business were as follows (in thousands):</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13" rowspan="1"></td></tr><tr><td style="width:64%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Year Ended December 31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,533</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Depreciation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">401</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">777</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortization expense</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">165</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">364</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Capital expenditures</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">482</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">631</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for discontinued operations. Includes, but is not limited to, method of interest allocation to a discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section S99<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=26872618&amp;loc=d3e7436-122677<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6718423648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract', window );"><strong>Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Acquisitions</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Acquisitions</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company completed </font><font style="font-family:Arial;font-size:10pt;">four</font><font style="font-family:Arial;font-size:10pt;"> acquisitions during the year ended December 31, 2016 and </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;"> acquisition during the year ended December 31, 2015.  All of these transactions have been accounted for as business combinations.  Pro-forma information for these acquisitions has not been presented because they are not material, either individually or in the aggregate.  Revenue and earnings since the dates of the acquisitions included in the Company's Consolidated Statements of Operations are also not presented because they are not material.  </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Transaction costs were immaterial and were expensed as incurred during the year of the acquisition.</font><font style="font-family:Arial;font-size:10pt;"> </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Webscan, Inc. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On December 9, 2016, the Company acquired selected assets and assumed selected liabilities of Webscan, Inc., a privately-held U.S.-based ID provider of barcode verifiers.  The total purchase price of</font><font style="font-family:Arial;font-size:10pt;">$3,176,000</font><font style="font-family:Arial;font-size:10pt;"> included </font><font style="font-family:Arial;font-size:10pt;">$3,000,000</font><font style="font-family:Arial;font-size:10pt;"> in cash paid upon closing and </font><font style="font-family:Arial;font-size:10pt;">$176,000</font><font style="font-family:Arial;font-size:10pt;"> in cash paid in January 2017 as a working capital adjustment.  There are no contingent payments.  In addition, the Company entered into special incentive payments tied to employment, none of which are material, that the Company will record as compensation expense. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under this transaction, in addition to customer relationships and completed technologies, the Company acquired a team of individuals including software engineers that are expected to help the Company accelerate the development of future ID products.  Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:86%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">504</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">680</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">840</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">925</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(77</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,176</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Sheet.  The customer relationships are being amort</font><font style="font-family:Arial;font-size:10pt;">ized to selling, general, and administrative e</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">xpenses on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">over</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"> </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">seven</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;"> </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">years, and the completed technologies are being amortized to cost of revenue on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis over </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> years.  A portion of t</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">he acquired goodwill is deductible for tax purposes.</font><font style="font-family:Arial;font-size:10pt;">  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Chiaro Technologies LLC</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On November 30, 2016, the Company acquired selected assets and assumed selected liabilities of Chiaro Technologies LLC, a privately-held U.S.-based 3D vision company.  The total purchase price of </font><font style="font-family:Arial;font-size:10pt;">$4,149,000</font><font style="font-family:Arial;font-size:10pt;"> included </font><font style="font-family:Arial;font-size:10pt;">$3,538,000</font><font style="font-family:Arial;font-size:10pt;"> in cash and contingent consideration valued at </font><font style="font-family:Arial;font-size:10pt;">$611,000</font><font style="font-family:Arial;font-size:10pt;">.  In addition, the Company entered into special incentive payments tied to employment, none of which are material, that the Company will record as compensation expense. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The undiscounted potential outcomes related to the contingent consideration range from </font><font style="font-family:Arial;font-size:10pt;">$0</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">$1,250,000</font><font style="font-family:Arial;font-size:10pt;"> based upon certain milestone revenue levels over the next two years.  As of December 31, 2016, the fair value of the contingent consideration was </font><font style="font-family:Arial;font-size:10pt;">$611,000</font><font style="font-family:Arial;font-size:10pt;"> and was recorded in &#8220;Other non-current liabilities&#8221; on the Consolidated Balance Sheet.  The contingent consideration will be remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under this transaction, in addition to completed technologies, the Company acquired a team of software engineers that are expected to help the Company accelerate the development of future 3D vision products.  Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:86%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,911</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(115</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,149</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;">The completed technologies are included in "Intangible assets" on the Consolidated Balance </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Sheet and are being amortized to cost of revenue on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis over </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;"> years.  A portion of t</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">he acquired goodwill is deductible for tax purposes.</font><font style="font-family:Arial;font-size:10pt;"> </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">EnShape GmbH</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On October 27, 2016, the Company acquired all of the outstanding shares of EnShape GmbH, a privately-held 3D sensor provider based in Germany.  The total purchase price of </font><font style="font-family:Arial;font-size:10pt;">&#8364;7,250,000</font><font style="font-family:Arial;font-size:10pt;"> (</font><font style="font-family:Arial;font-size:10pt;">$7,901,000</font><font style="font-family:Arial;font-size:10pt;">) included </font><font style="font-family:Arial;font-size:10pt;">&#8364;4,950,000</font><font style="font-family:Arial;font-size:10pt;"> (</font><font style="font-family:Arial;font-size:10pt;">$5,395,000</font><font style="font-family:Arial;font-size:10pt;">) in cash paid upon closing, </font><font style="font-family:Arial;font-size:10pt;">&#8364;1,050,000</font><font style="font-family:Arial;font-size:10pt;"> (</font><font style="font-family:Arial;font-size:10pt;">$1,144,000</font><font style="font-family:Arial;font-size:10pt;">) of deferred cash payments as a holdback for potential indemnification claims payable in 2018, and </font><font style="font-family:Arial;font-size:10pt;">&#8364;1,250,000</font><font style="font-family:Arial;font-size:10pt;"> (</font><font style="font-family:Arial;font-size:10pt;">$1,362,000</font><font style="font-family:Arial;font-size:10pt;">) of contingent cash payments based upon the completion of certain tasks by June 30, 2017.  In addition, the Company entered into special incentive payments tied to employment, none of which are material, that the Company will record as compensation expense. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The undiscounted potential outcomes related to the contingent consideration are </font><font style="font-family:Arial;font-size:10pt;">&#8364;0</font><font style="font-family:Arial;font-size:10pt;"> or </font><font style="font-family:Arial;font-size:10pt;">&#8364;1,250,000</font><font style="font-family:Arial;font-size:10pt;"> (</font><font style="font-family:Arial;font-size:10pt;">$1,362,000</font><font style="font-family:Arial;font-size:10pt;">) based upon the completion of certain tasks by June 30, 2017.  As of December 31, 2016, the fair value of the contingent consideration was </font><font style="font-family:Arial;font-size:10pt;">&#8364;1,250,000</font><font style="font-family:Arial;font-size:10pt;"> (</font><font style="font-family:Arial;font-size:10pt;">$1,362,000</font><font style="font-family:Arial;font-size:10pt;">) due to the high probability and the short duration to payment, and was recorded in &#8220;Accrued expenses" on the Consolidated Balance Sheets.  The contingent consideration will be remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under this transaction, in addition to customer relationships and completed technologies, the Company acquired a team of software engineers that are expected to help the Company accelerate the development of  future 3D vision products. Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:86%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">167</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">79</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">44</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">447</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,089</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,613</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(209</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,342</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,901</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Sheet.  The customer relationships are being amort</font><font style="font-family:Arial;font-size:10pt;">ized to selling, general, and administrative e</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">xpenses, and the completed technologies are being amortized to cost of revenue, both on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis over </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;"> years.  A portion of t</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">he acquired goodwill is deductible for tax purposes.</font><font style="font-family:Arial;font-size:10pt;"> </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">AQSense, S.L.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On August 30, 2016, the Company acquired selected assets and assumed selected liabilities of AQSense, S.L., a privately-held 3D vision software provider based in Spain.  The total purchase price of </font><font style="font-family:Arial;font-size:10pt;">&#8364;2,232,000</font><font style="font-family:Arial;font-size:10pt;"> (</font><font style="font-family:Arial;font-size:10pt;">$2,519,000</font><font style="font-family:Arial;font-size:10pt;">) was paid in cash and there are no contingent payments. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under this transaction, in addition to customer relationships and completed technologies, the Company acquired a team of software engineers that are expected to help the Company accelerate the development of  future 3D vision products.  Assets acquired and liabilities assumed have been recorded at their estimated fair values as of the acquisition date.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:86%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">168</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">598</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">384</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,383</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(14</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,519</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance </font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">Sheet.  The customer relationships are being amort</font><font style="font-family:Arial;font-size:10pt;">ized to selling, general, and administrative e</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">xpenses, and the completed technologies are being amortized to cost of revenue, both on a straigh</font><font style="font-family:Arial;font-size:10pt;">t-line basis over </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> years.  A portion of t</font><font style="font-family:Arial;font-size:10pt;background-color:#ffffff;">he acquired goodwill is deductible for tax purposes.</font><font style="font-family:Arial;font-size:10pt;"> </font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Manatee Works, Inc.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On August 21, 2015, the Company acquired selected assets of Manatee Works, Inc. (Manatee), a privately-held U.S.-based developer of barcode scanning software development kits (SDKs).  The Company plans to leverage Manatee's current developer network and business model of attracting new developers to drive leads for its ID products.  Under this transaction, the Company also acquired technology for use in mobile devices. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total purchase price of </font><font style="font-family:Arial;font-size:10pt;">$4,813,000</font><font style="font-family:Arial;font-size:10pt;"> included </font><font style="font-family:Arial;font-size:10pt;">$1,023,000</font><font style="font-family:Arial;font-size:10pt;"> in cash paid upon closing and contingent consideration valued at </font><font style="font-family:Arial;font-size:10pt;">$3,790,000</font><font style="font-family:Arial;font-size:10pt;"> on the acquisition date.  The undiscounted potential outcomes related to future contingent consideration ranges from </font><font style="font-family:Arial;font-size:10pt;">$0</font><font style="font-family:Arial;font-size:10pt;"> to approximately </font><font style="font-family:Arial;font-size:10pt;">$1,700,000</font><font style="font-family:Arial;font-size:10pt;"> in 2017 and </font><font style="font-family:Arial;font-size:10pt;">$0</font><font style="font-family:Arial;font-size:10pt;"> to approximately </font><font style="font-family:Arial;font-size:10pt;">$2,200,000</font><font style="font-family:Arial;font-size:10pt;"> in 2018 based upon reaching certain milestone revenue levels. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The contingent consideration is remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.  In 2015, the Company recorded a </font><font style="font-family:Arial;font-size:10pt;">$790,000</font><font style="font-family:Arial;font-size:10pt;"> benefit in other income which reduced the liability amount to </font><font style="font-family:Arial;font-size:10pt;">$3,000,000</font><font style="font-family:Arial;font-size:10pt;">.  In 2016, the Company paid </font><font style="font-family:Arial;font-size:10pt;">$337,000</font><font style="font-family:Arial;font-size:10pt;"> and recorded a </font><font style="font-family:Arial;font-size:10pt;">$463,000</font><font style="font-family:Arial;font-size:10pt;"> benefit in other income reducing the liability to </font><font style="font-family:Arial;font-size:10pt;">$2,200,000</font><font style="font-family:Arial;font-size:10pt;">.  As of December 31, 2016, the current portion of the contingent consideration expected to be paid within the next year was </font><font style="font-family:Arial;font-size:10pt;">$800,000</font><font style="font-family:Arial;font-size:10pt;">, and was recorded in &#8220;Accrued expenses,&#8221; and the non-current portion expected to be paid beyond one year was </font><font style="font-family:Arial;font-size:10pt;">$1,400,000</font><font style="font-family:Arial;font-size:10pt;">, and was recorded in &#8220;Other non-current liabilities&#8221; on the Consolidated Balance Sheets. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:85%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">140</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">590</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,813</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The customer relationships and completed technologies are included in "Intangible assets" on the Consolidated Balance Sheets.  The customer relationships are being amortized to selling, general, and administrative expenses, and the completed technologies are being amortized to cost of revenue, both on a straight-line basis over </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> years.  A portion of the acquired goodwill is deductible for tax purposes.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=65885119&amp;loc=d3e1497-128463<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=65885119&amp;loc=d3e1490-128463<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65885119&amp;loc=d3e1392-128463<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e7008-128479<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=65885119&amp;loc=d3e1486-128463<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=65885119&amp;loc=d3e1524-128463<br><br>Reference 9: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e7000-128479<br><br>Reference 10: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4922-128472<br><br>Reference 11: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4934-128472<br><br>Reference 12: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4926-128472<br><br>Reference 13: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4A<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=SL65897772-128472<br><br>Reference 14: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=65885119&amp;loc=d3e1383-128463<br><br>Reference 15: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6996-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6718423648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events Subsequent Events - (Notes)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Subsequent Events</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On February 15, 2017, the Company's Board of Directors declared a cash dividend of </font><font style="font-family:Arial;font-size:10pt;">$0.075</font><font style="font-family:Arial;font-size:10pt;"> per share.  The dividend is payable </font><font style="font-family:Arial;font-size:10pt;">March 17, 2017</font><font style="font-family:Arial;font-size:10pt;"> to all shareholders of record as of the close of business on </font><font style="font-family:Arial;font-size:10pt;">March 3, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6809893696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II - Valuation and Qualifying Accounts<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAndQualifyingAccountsAbstract', window );"><strong>Valuation and Qualifying Accounts [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock', window );">Schedule II - Valuation and Qualifying Accounts</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION &#8211; SCHEDULE II &#8211; VALUATION AND QUALIFYING ACCOUNTS</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="25" rowspan="1"></td></tr><tr><td style="width:28%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:4%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:4%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Additions</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Description</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Balance&#160;at</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Beginning</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">of Period</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Charged&#160;to</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Costs and</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Charged</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">to Other</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Accounts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Deductions</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Other</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Balance&#160;at</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">End of</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Period</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="23" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(In thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reserve&#160;for&#160;Uncollectible Accounts Receivable:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">736</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">216</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(64</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(15</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">873</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">820</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(44</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(40</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">736</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">909</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(57</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(b)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">820</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reserve&#160;for Excess and Obsolete&#160;Inventory:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,803</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,641</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4,075</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(52</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(c)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,317</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,058</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,562</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,443</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(374</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(c)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,803</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,301</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,204</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,978</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(a)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(469</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(c)&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,058</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred Tax Valuation Allowance:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,259</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">857</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,116</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,483</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">817</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,259</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,758</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">725</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,483</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><table cellpadding="0" cellspacing="0" style="padding-top:12px;font-family:Times New Roman; font-size:10pt;"><tr><td style="width:48px;" rowspan="1" colspan="1"></td><td rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top" rowspan="1" colspan="1"><div style="line-height:120%;font-size:10pt;padding-left:0px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;" rowspan="1" colspan="1"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Specific write-offs</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:48px;" rowspan="1" colspan="1"></td><td rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top" rowspan="1" colspan="1"><div style="line-height:120%;font-size:10pt;padding-left:0px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;" rowspan="1" colspan="1"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Collections of previously written-off accounts and foreign currency exchange rate changes</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:48px;" rowspan="1" colspan="1"></td><td rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top" rowspan="1" colspan="1"><div style="line-height:120%;font-size:10pt;padding-left:0px;"><font style="font-family:Arial;font-size:10pt;">(c)</font></div></td><td style="vertical-align:top;" rowspan="1" colspan="1"><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</font></div></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for any allowance and reserve accounts (their beginning and ending balances, as well as a reconciliation by type of activity during the period). Alternatively, disclosure of the required information may be within the footnotes to the financial statements or a supplemental schedule to the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAndQualifyingAccountsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAndQualifyingAccountsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841271904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_NatureOfOperationsPolicyTextBlock', window );">Nature of Operations</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Nature of Operations</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cognex Corporation is a leading provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, where vision is required.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates in the Preparation of Financial Statements</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Use of Estimates in the Preparation of Financial Statements</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America (U.S.&#160;GAAP) requires management to make estimates and judgments that affect the reported amounts of assets and liabilities and the disclosure of contingent liabilities as of the balance sheet date, and the reported amounts of revenues and expenses during the year.  Actual results could differ from those estimates.  Significant estimates and judgments include those related to revenue recognition, investments, accounts receivable, inventories, long-lived assets, goodwill, warranty obligations, contingencies, stock-based compensation, income taxes and derivative instruments</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Basis of Consolidation</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-bottom:6px;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Basis of Consolidation</font></div><div style="line-height:120%;padding-bottom:6px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The consolidated financial statements include the accounts of Cognex Corporation and its subsidiaries, all of which are wholly-owned.  All intercompany accounts and transactions have been eliminated.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Foreign Currency Translation</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The financial statements of the Company&#8217;s foreign subsidiaries, where the local currency is the functional currency, are translated using exchange rates in effect at the end of the year for assets and liabilities and average exchange rates during the year for results of operations.  The resulting foreign currency translation adjustment, net of tax, is recorded in shareholders&#8217; equity as other comprehensive income (loss).</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value Measurements</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Fair Value Measurements</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company applies a three-level valuation hierarchy for fair value measurements.  The categorization of assets and liabilities within the valuation hierarchy is based upon the lowest level of input that is significant to the measurement of fair value.  Level&#160;1 inputs to the valuation methodology utilize unadjusted quoted market prices in active markets for identical assets and liabilities.  Level 2 inputs to the valuation methodology are other observable inputs, including quoted market prices for similar assets and liabilities, quoted prices for identical and similar assets and liabilities in markets that are not active, or other inputs that are observable or can be corroborated by observable market data. Level 3 inputs to the valuation methodology are unobservable inputs based upon management&#8217;s best estimate of the inputs that market participants would use in pricing the asset or liability at the measurement date, including assumptions about risk.  A change to the level of an asset or liability within the fair value hierarchy is determined at the end of a reporting period.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash, Cash Equivalents, and Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Cash, Cash Equivalents, and Investments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments purchased with original maturities of three months or less are classified as cash equivalents and are stated at amortized cost.  Debt securities with original maturities greater than three months and remaining maturities of one year or less are classified as short-term investments, as well as equity securities that the Company intends to sell within one year.  Debt securities with remaining maturities greater than one year, as well as a limited partnership interest, are classified as long-term investments.  It is the Company&#8217;s policy to invest in debt securities with effective maturities that do not exceed </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;"> years.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Debt securities with original maturities greater than three months are designated as available-for-sale and are reported at fair value, with unrealized gains and losses, net of tax, recorded in shareholders&#8217; equity as other comprehensive income (loss).  Equity securities that are held for short periods of time with the intention of selling them in the near term are designated as trading and are reported at fair value, with unrealized gains and losses recorded in current operations.  Realized gains and losses are included in current operations, along with the amortization of the discount or premium on debt securities arising at acquisition, and are calculated using the specific identification method.  The Company&#8217;s limited partnership interest is accounted for using the cost method because the Company&#8217;s investment is less than </font><font style="font-family:Arial;font-size:10pt;">5%</font><font style="font-family:Arial;font-size:10pt;"> of the partnership and the Company has no influence over the partnership&#8217;s operating and financial policies. </font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management monitors the carrying value of its investments in debt securities and a limited partnership interest compared to their fair value to determine whether an other-than-temporary impairment has occurred.  If the fair value of a debt security is less than its amortized cost, the Company assesses whether the impairment is other-than-temporary.  In considering whether a decline in fair value is other-than-temporary, we consider many factors.  In its evaluation of its debt securities, management considers the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, our intent and ability to hold the security to expected recovery of value, and other meaningful information.  An impairment is considered other-than-temporary if (i)&#160;the Company has the intent to sell the security, (ii)&#160;it is more likely than not that the Company will be required to sell the security before recovery of the entire amortized cost basis, or (iii)&#160;the Company does not expect to recover the entire amortized cost basis of the security.  If impairment is considered other-than-temporary based upon condition (i)&#160;or (ii)&#160;described above, the entire difference between the amortized cost and the fair value of the security is recognized in current operations.  If an impairment is considered other-than-temporary based upon condition (iii), the amount representing credit losses (defined as the difference between the present value of the cash flows expected to be collected and the amortized cost basis of the security) is recognized in current operations and the amount relating to all other factors is recognized in shareholders' equity as other comprehensive income (loss).  In its evaluation of its limited partnership interest, management considers the duration and extent of the decline, the length of the Company&#8217;s commitment to the investment, general economic trends, and specific communications with the General Partner.</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesPolicyTextBlock', window );">Accounts Receivable</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounts Receivable</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company extends credit with various payment terms to customers based upon an evaluation of their financial condition.  Accounts that are outstanding longer than the payment terms are considered to be past due.  The Company establishes reserves against accounts receivable for potential credit losses and records bad debt expense in current operations when it determines receivables are at risk for collection based upon the length of time the receivable has been outstanding, the customer&#8217;s current ability to pay its obligations to the Company, general economic and industry conditions, as well as various other factors.  Receivables are written off against these reserves in the period they are determined to be uncollectible and payments subsequently received on previously written-off receivables are recorded as a reversal of the bad debt expense.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Inventories</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories are stated at the lower of cost or market.  Cost is determined using standard costs, which approximates actual costs under the first-in, first-out (FIFO) method.  The Company&#8217;s inventory is subject to rapid technological change or obsolescence.  The Company reviews inventory quantities on hand and estimates excess and obsolescence exposures based upon assumptions about future demand, product transitions, and market conditions, and records reserves to reduce the carrying value of inventories to their net realizable value.  If actual future demand is less than estimated, additional inventory write-downs would be required.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company generally disposes of obsolete inventory upon determination of obsolescence.  The Company does not dispose of excess inventory immediately, due to the possibility that some of this inventory could be sold to customers as a result of differences between actual and forecasted demand.  When inventory has been written down below cost, such reduced amount is considered the new cost basis for subsequent accounting purposes.  As a result, the Company would recognize a higher than normal gross margin if the reserved inventory were subsequently sold.</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, Plant, and Equipment</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Property, Plant, and Equipment</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment are stated at cost and depreciated using the straight-line method over the assets&#8217; estimated useful lives.  Buildings&#8217; useful lives are </font><font style="font-family:Arial;font-size:10pt;">39</font><font style="font-family:Arial;font-size:10pt;"> years, building improvements&#8217; useful lives are </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;"> years, and the useful lives of computer hardware and software, manufacturing test equipment, and furniture and fixtures range from </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> years.  Leasehold improvements are depreciated over the shorter of the estimated useful lives or the remaining terms of the leases.  Maintenance and repairs are expensed when incurred; additions and improvements are capitalized.  Upon retirement or disposition, the cost and related accumulated depreciation of the disposed assets are removed from the accounts, with any resulting gain or loss included in current operations.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsFiniteLivedPolicy', window );">Intangible Assets</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Intangible Assets</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Intangible assets are stated at cost and amortized over the assets&#8217; estimated useful lives.  Intangible assets are either amortized in relation to the relative cash flows anticipated from the intangible asset or using the straight-line method, depending upon facts and circumstances.  The useful lives of distribution networks range from </font><font style="font-family:Arial;font-size:10pt;">eleven</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">twelve</font><font style="font-family:Arial;font-size:10pt;"> years, of customer contracts and relationships from </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;"> years, and of completed technologies and other intangible assets from </font><font style="font-family:Arial;font-size:10pt;">five</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">seven</font><font style="font-family:Arial;font-size:10pt;"> years.  The Company evaluates the possible impairment of long-lived assets, including intangible assets, whenever events or circumstances indicate the carrying value of the assets may not be recoverable. At the occurrence of a certain event or change in circumstances, the Company evaluates the potential impairment of an asset by estimating the future undiscounted cash flows expected to result from the use and eventual disposition of the asset.  If the sum of the estimated future cash flows is less than the carrying value, the Company determines the amount of such impairment by comparing the fair value of the asset to its carrying value.  The fair value is based upon the present value of the estimated future cash flows using a discount rate commensurate with the risks involved.</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy', window );">Goodwill</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Goodwill</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill is stated at cost.  The Company evaluates the possible impairment of goodwill annually each fourth quarter and whenever events or circumstances indicate the carrying value of the goodwill may not be recoverable.  For the past </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;"> years, the Company has performed a qualitative assessment of goodwill (commonly known as &#8220;step zero&#8221;) to determine whether further impairment testing is necessary.  Factors that management considers in this assessment include macroeconomic conditions, industry and market considerations, overall financial performance (both current and projected), changes in management or strategy, and changes in the composition or carrying amount of net assets. In addition, management takes into consideration the goodwill valuation under the last quantitative analysis that was performed.  If this qualitative assessment indicates that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, the entity would proceed to a two-step process.  Step one compares the fair value of the reporting unit with its carrying value, including goodwill.  If the carrying amount exceeds the fair value of the reporting unit, step two is required to measure the amount of impairment loss.  Step two compares the implied fair value of the reporting unit goodwill to the carrying amount of the goodwill.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;"></font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardProductWarrantyPolicy', window );">Warranty Obligations</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Warranty Obligations</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company warrants its products to be free from defects in material and workmanship for periods primarily ranging from </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;"> years from the time of sale based upon the product being purchased and the terms of the customer arrangement.  Warranty obligations are evaluated and recorded at the time of sale since it is probable that customers will make claims under warranties related to products that have been sold and the amount of these claims can be reasonably estimated based upon historical costs to fulfill claims.  Obligations may also be recorded subsequent to the time of sale whenever specific events or circumstances impacting product quality become known that would not have been taken into account using historical data.</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock', window );">Contingencies</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Contingencies</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Loss contingencies are accrued if the loss is probable and the amount of the loss can be reasonably estimated.  Legal costs associated with potential loss contingencies, such as patent infringement matters, are expensed as incurred.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s product revenue is derived from the sale of machine vision systems, which can take the form of hardware with embedded software or software-only, and related accessories.  The Company also generates revenue by providing maintenance and support, consulting, and training services to its customers.  Certain of the Company&#8217;s arrangements include multiple deliverables that provide the customer with a combination of products or services.  In order to recognize revenue, the Company requires that a signed customer contract or purchase order is received, the fee from the arrangement is fixed or determinable, and collection of the resulting receivable is probable.  Assuming that these criteria have been met, product revenue is generally recognized upon delivery, revenue from maintenance and support programs is recognized ratably over the program period, and revenue from consulting and training services is recognized when the services have been provided.  When customer-specified acceptance criteria exists that are substantive, product revenue is deferred, along with associated incremental direct costs, until these criteria have been met and any remaining performance obligations are inconsequential or perfunctory.&#160;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the majority of the Company&#8217;s revenue transactions, revenue recognition and invoicing both occur upon delivery.  In certain circumstances, however, the agreement with the customer provides for invoicing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Invoicing that precedes revenue recognition is common for various customers in the logistics industry where milestone billings are prevalent, resulting in deferred revenue.  Conversely, the Company records unbilled revenue in connection with a material customer in the consumer electronics industry.  For this arrangement, the Company recognizes revenue for all delivered products when the first production line that incorporates these products is validated, because at that point the remaining performance obligations are inconsequential or perfunctory.  Invoicing for all delivered products occurs as the production lines incorporating those products are installed over a period of several weeks.  The Company also has a technical support obligation related to this arrangement for which revenue is deferred and recognized over the support period of approximately six months.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of the Company&#8217;s product offerings consist of hardware with embedded software.  Under the revenue recognition rules for tangible products, the fee from a multiple-deliverable arrangement is allocated to each of the deliverables based upon their relative selling prices as determined by a selling-price hierarchy.  A deliverable in an arrangement qualifies as a separate unit of accounting if the delivered item has value to the customer on a stand-alone basis.  A delivered item that does not qualify as a separate unit of accounting is combined with the other undelivered items in the arrangement and revenue is recognized for those combined deliverables as a single unit of accounting. The selling price used for each deliverable is based upon vendor-specific objective evidence (VSOE) if available, third-party evidence (TPE) if VSOE is not available, and management&#8217;s best estimate of selling price (BESP) if neither VSOE nor TPE are available. VSOE is the price charged for a deliverable when it is sold separately.  TPE is the price of the Company&#8217;s or any competitor&#8217;s largely interchangeable products or services in stand-alone sales to similarly-situated customers.  BESP is the price at which the Company would sell the deliverable if it were sold regularly on a stand-alone basis, considering market conditions and entity-specific factors.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The selling prices used in the relative selling price allocation method for (1)&#160;certain of the Company&#8217;s services are based upon VSOE, (2) third-party accessories available from other vendors are based upon TPE, and (3)&#160;hardware products with embedded software, custom accessories, and services for which VSOE does not exist are based upon BESP.  The Company does not believe TPE exists for these products and services because they are differentiated from competing products and services in terms of functionality and performance and there are no competing products or services that are largely interchangeable.  BESP has been established for each product line within each region. Management establishes BESP with consideration for market conditions, such as the impact of competition and geographic considerations, and entity-specific factors, such as pricing practices, gross margin objectives, customer size, and market share goals.  Management believes that BESP is reflective of reasonable pricing of that deliverable as if priced on a stand-alone basis.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Under the revenue recognition rules for software-only products, the fee from a multiple-deliverable arrangement is allocated to each of the undelivered elements based upon VSOE, which is limited to the price charged when the same deliverable is sold separately, with the residual value from the arrangement allocated to the delivered element.  The portion of the fee that is allocated to each deliverable is then recognized as revenue when the criteria for revenue recognition are met with respect to that deliverable.  If VSOE does not exist for all of the undelivered elements, then all revenue from the arrangement is typically deferred until all elements have been delivered to the customer.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s products are sold directly to end users, as well as to resellers including original equipment manufacturers (OEMs), distributors, and integrators.  Revenue is recognized upon delivery of the product to the reseller, assuming all other revenue recognition criteria have been met.  The Company establishes reserves against revenue for potential product returns, since the amount of future returns can be reasonably estimated based upon experience.  These reserves have historically been immaterial.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certain customers are offered pricing discounts on current sales based upon purchasing volumes or preferred pricing arrangements, for which revenue is reported net of these discounts. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company reports revenue for certain of its product accessory sales on a net basis, by reducing the gross sale amount by the related costs, when certain factors in the arrangement with the customer indicate that the Company is acting as an agent, rather than as a principal.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amounts billed to customers related to shipping and handling, as well as reimbursements received from customers for out-of-pocket expenses, are classified as revenue, with the associated costs included in cost of revenue.</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock', window );">Research and Development</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Research and Development</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research and development costs for internally-developed or acquired products are expensed when incurred until technological feasibility has been established for the product.  Thereafter, all software costs may be capitalized until the product is available for general release to customers.  The Company determines technological feasibility at the time the product reaches beta in its stage of development.  Historically, the time incurred between beta and general release to customers has been short, and therefore, the costs have been insignificant. </font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Costs</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Advertising Costs</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Advertising costs are expensed as incurred and totaled </font><font style="font-family:Arial;font-size:10pt;">$1,674,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$2,009,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$2,609,000</font><font style="font-family:Arial;font-size:10pt;"> in </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">.</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-Based Compensation</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock-Based Compensation</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  The Company has reserved a specific number of shares of its authorized but unissued shares for issuance upon the exercise of stock options or the granting of restricted stock.  When a stock option is exercised or a restricted stock award is granted, the Company issues new shares from this pool.  The fair values of stock options are estimated on the grant date using a binomial lattice model.  Management is responsible for determining the appropriate valuation model and estimating these fair values, and in doing so, considers a number of factors, including information provided by an outside valuation advisor.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes compensation expense related to stock options using the graded attribution method, in which expense is recognized on a straight-line basis over the service period for each separately vesting portion of the stock option as if the option was, in substance, multiple awards.  The amount of compensation expense recognized at the end of the vesting period is based upon the number of stock options for which the requisite service has been completed. No compensation expense is recognized for options that are forfeited for which the employee does not render the requisite service.  The term &#8220;forfeitures&#8221; is distinct from &#8220;expirations&#8221; and represents only the unvested portion of the surrendered option.  The Company applies estimated forfeiture rates to its unvested options to arrive at the amount of compensation expense that is expected to be recognized over the requisite service period.  At the end of each separately vesting portion of an option, the expense that was recognized by applying the estimated forfeiture rate is compared to the expense that should be recognized based upon the employee&#8217;s service, and a credit to expense is recorded related to those employees that have not rendered the requisite service.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Taxes</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Taxes</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes a tax position in its financial statements when that tax position, based solely upon its technical merits, is more likely than not to be sustained upon examination by the relevant taxing authority.  Those tax positions failing to qualify for initial recognition are recognized in the first interim period in which they meet the more likely than not standard, or are resolved through negotiation or litigation with the taxing authority, or upon expiration of the statutes of limitations.  Derecognition of a tax position that was previously recognized occurs when an entity subsequently determines that a tax position no longer meets the more likely than not threshold of being sustained.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Only the portion of the liability that is expected to be paid within one year is classified as a current liability.  As a result, liabilities expected to be resolved without the payment of cash (e.g., resolution due to the expiration of the statutes of limitations) or are not expected to be paid within one year are not classified as current.  It is the Company&#8217;s policy to record estimated interest and penalties as income tax expense and tax credits as a reduction in income tax expense.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred tax assets and liabilities are determined based upon the differences between the financial statement and tax bases of assets and liabilities as measured by the enacted tax rates that will be in effect when these differences reverse. Valuation allowances are provided if, based upon the weight of available evidence, it is more likely than not that some or all of the deferred tax assets will not be realized.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sales tax in the United States and similar taxes in other jurisdictions that are collected from customers and remitted to government authorities are presented on a gross basis (i.e., a receivable from the customer with a corresponding payable to the government).  Amounts collected from customers and retained by the Company during tax holidays are recognized as non-operating income when earned.</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Net Income Per Share</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Net Income Per Share</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period.  Diluted net income per share is computed by dividing net income available to common shareholders by the weighted-average number of common shares outstanding for the period plus potential dilutive common shares.  Dilutive common equivalent shares consist of stock options and are calculated using the treasury stock method.  Common equivalent shares do not qualify as participating securities.  In periods where the Company records a net loss, potential common stock equivalents are not included in the calculation of diluted net loss per share.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive Income</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Comprehensive Income</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Comprehensive income is defined as the change in equity of a company during a period from transactions and other events and circumstances, excluding transactions resulting from investments by owners and distributions to owners. Accumulated other comprehensive loss, net of tax, as of December 31, </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;"> and December 31, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, consists of foreign currency translation adjustments of </font><font style="font-family:Arial;font-size:10pt;">$55,262,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$49,646,000</font><font style="font-family:Arial;font-size:10pt;">, respectively; net unrealized gains on available-for-sale investments of </font><font style="font-family:Arial;font-size:10pt;">$68,000</font><font style="font-family:Arial;font-size:10pt;"> and net unrealized losses on available-for-sale investments of </font><font style="font-family:Arial;font-size:10pt;">$1,413,000</font><font style="font-family:Arial;font-size:10pt;">, respectively; net unrealized gains on derivative instruments of $</font><font style="font-family:Arial;font-size:10pt;">37,000</font><font style="font-family:Arial;font-size:10pt;"> and $</font><font style="font-family:Arial;font-size:10pt;">206,000</font><font style="font-family:Arial;font-size:10pt;">, respectively; and losses on currency swaps, net of gains on long-term intercompany loans of </font><font style="font-family:Arial;font-size:10pt;">$1,271,000</font><font style="font-family:Arial;font-size:10pt;"> in each year. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amounts reclassified from accumulated other comprehensive income to investment income on the Consolidated Statements of Operations were net realized gains of </font><font style="font-family:Arial;font-size:10pt;">$191,000</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">$344,000</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">$673,000</font><font style="font-family:Arial;font-size:10pt;"> for </font><font style="font-family:Arial;font-size:10pt;">2016</font><font style="font-family:Arial;font-size:10pt;">, </font><font style="font-family:Arial;font-size:10pt;">2015</font><font style="font-family:Arial;font-size:10pt;">, and </font><font style="font-family:Arial;font-size:10pt;">2014</font><font style="font-family:Arial;font-size:10pt;">, respectively.</font></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock', window );">Concentrations of Risk</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Concentrations of Risk</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash, cash equivalents, investments, and trade receivables.  The Company has certain domestic and foreign cash balances that exceed the insured limits set by the Federal Deposit Insurance Corporation (FDIC) in the United States and equivalent regulatory agencies in foreign countries.  The Company primarily invests in investment-grade debt securities and has established guidelines relative to credit ratings, diversification, and maturities of its debt securities that maintain safety and liquidity.  The Company has not experienced any significant realized losses on its debt securities.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company performs ongoing credit evaluations of its customers and maintains allowances for potential credit losses. The Company has not experienced any significant losses related to the collection of its accounts receivable.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A significant portion of the Company's product is manufactured by a third-party contractor located in Indonesia.  This contractor has agreed to provide Cognex with termination notification periods and last-time-buy rights, if and when that may be applicable.  We rely upon this contractor to provide quality product and meet delivery schedules.  We engage in extensive product quality programs and processes, including actively monitoring the performance of our third-party manufacturers; however, we may not detect all product quality issues through these programs and processes.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Certain components are presently sourced from a single vendor that is selected based on price and performance considerations.  In the event of a supply disruption from a single-source vendor, these components may be purchased from an alternative vendor, which may result in manufacturing delays based on the lead time of the new vendor.  Certain key electronic and mechanical components that are purchased from strategic suppliers, such as processors or imagers, are fundamental to the design of Cognex products.  A disruption in the supply of these key components, such as a last-time-buy announcement, natural disaster, financial bankruptcy, or other event, may require us to purchase a significant amount of inventory at unfavorable prices resulting in lower gross margins and higher risk of carrying excess inventory.  If we are unable to secure adequate supply from alternative sources, we may have to redesign our products, which may lead to a delay in manufacturing and a possible loss of sales.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;"></font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesPolicyTextBlock', window );">Derivative Instruments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Derivative Instruments</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Derivative instruments are recorded on the Consolidated Balance Sheets at fair value.  Changes in the fair value of derivatives are recorded each period in current operations or in shareholders' equity as other comprehensive income (loss), depending upon whether the derivative is designated as a hedge transaction and, if it is, the effectiveness of the hedge.  At the inception of the contract, the Company designates foreign currency forward exchange contracts as either a cash flow hedge of certain forecasted foreign currency denominated sales and purchase transactions or as an economic hedge.  Changes in the fair value of a derivative that is highly effective and that is designated and qualifies as a cash flow hedge are recorded in shareholders' equity as other comprehensive income (loss), and reclassified into current operations in the same period during which the hedged transaction affects current operations and in the same financial statement line item as that of the forecasted transaction.  Cash flow hedges are evaluated for effectiveness quarterly.  Any hedge ineffectiveness (which represents the amount by which the changes in the fair value of the derivative exceed the variability in the cash flows of the forecasted transaction) is recorded in current operations in the period in which ineffectiveness is determined.  Changes in the fair value of the Company&#8217;s economic hedges (not designated as a cash flow hedge) are reported in current operations.  The cash flows from derivative instruments are presented in the same category on the Consolidated Statements of Cash Flows as the category for the cash flows from the hedged item.  Generally, this accounting policy election results in cash flows related to derivative instruments being classified as an operating activity on the Consolidated Statements of Cash Flows.</font></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk-management objective and strategy for undertaking various hedge transactions.  This process includes linking all derivatives that are designated as cash flow hedges to specific forecasted transactions.  The Company also formally assesses (both at the hedge&#8217;s inception and on an ongoing basis) whether the derivatives that are used in hedging transactions have been highly effective in offsetting changes in the fair value or cash flows of hedged items and whether those derivatives may be expected to remain highly effective in future periods.  When it is determined that a derivative is not (or has ceased to be) highly effective as a hedge, the Company discontinues hedge accounting prospectively, as discussed below.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company discontinues hedge accounting prospectively when (1) it determines that the derivative is no longer effective in offsetting changes in the cash flows of a hedged item; (2) the derivative expires or is sold, terminated, or exercised; (3) it is no longer probable that the forecasted transaction will occur; or (4) management determines that designating the derivative as a hedging instrument is no longer appropriate or desired.  When the Company discontinues hedge accounting because it is no longer probable that the forecasted transaction will occur in the originally expected period, the gain or loss on the derivative remains in accumulated other comprehensive income (loss) and is reclassified into current operations when the forecasted transaction affects current operations.  However, if it is probable that a forecasted transaction will not occur by the end of the originally specified time period or within an additional two-month period of time thereafter, the gain or loss that was accumulated in other comprehensive income (loss) is recognized immediately in current operations.  In all situations in which hedge accounting is discontinued and the derivative remains outstanding, the Company carries the derivative at fair value on the Consolidated Balance Sheets, recognizing changes in the fair value in current operations, unless it is designated in a new hedging relationship.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes all derivative instruments as either current assets or current liabilities at fair value on the Consolidated Balance Sheets.  When the Company is engaged in more than one outstanding derivative contract with the same counterparty and also has a legally enforceable master netting agreement with that counterparty, the &#8220;net&#8221; mark-to-market exposure represents the netting of the positive and negative exposures with that counterparty.  Accordingly, cash flow hedges are presented net on the Consolidated Balance Sheets.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Concentrations of Risk.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ConcentrationsOfRiskPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_NatureOfOperationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Nature of Operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_NatureOfOperationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising costs. For those costs that cannot be capitalized, discloses whether such costs are expensed as incurred or the first period in which the advertising takes place. For direct response advertising costs that are capitalized, describes those assets and the accounting policy used, including a description of the qualifying activity, the types of costs capitalized and the related amortization period. An entity also may disclose its accounting policy for cooperative advertising arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 20<br> -Section 55<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68054294&amp;loc=d3e8384-108330<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=68072981&amp;loc=d3e8275-108329<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 305<br> -SubTopic 10<br> -Section 05<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6375392&amp;loc=d3e26790-107797<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6367179&amp;loc=d3e4273-108586<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash<br> -URI http://asc.fasb.org/extlink&amp;oid=6506951<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash Equivalents<br> -URI http://asc.fasb.org/extlink&amp;oid=6507016<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 450<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6491354&amp;loc=d3e6052-115624<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 450<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491354&amp;loc=d3e6049-115624<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting.  The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64809438&amp;loc=d3e5614-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.3A-03)<br> -URI http://asc.fasb.org/extlink&amp;oid=27015204&amp;loc=d3e355100-122828<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.3A-02)<br> -URI http://asc.fasb.org/extlink&amp;oid=27015204&amp;loc=d3e355033-122828<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its derivative instruments and hedging activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=d3e41620-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(n))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5579240-113959<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5579245-113959<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=d3e41675-113959<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=d3e41638-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3630-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13279-108611<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 60<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=7493716&amp;loc=d3e21868-110260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32840-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 05<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=65884525&amp;loc=d3e40913-109327<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 954<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6491622&amp;loc=d3e9504-115650<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32809-109319<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e32247-109318<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e32280-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsFiniteLivedPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsFiniteLivedPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66092785&amp;loc=d3e4492-108314<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=66092785&amp;loc=d3e4556-108314<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, basis of assets, depreciation and depletion methods used, including composite deprecation, estimated useful lives, capitalization policy, accounting treatment for costs incurred for repairs and maintenance, capitalized interest and the method it is calculated, disposals and impairments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for trade and other accounts receivable, and finance, loan and lease receivables, including those classified as held for investment and held for sale. This disclosure may include (1) the basis at which such receivables are carried in the entity's statements of financial position (2) how the level of the valuation allowance for receivables is determined (3) when impairments, charge-offs or recoveries are recognized for such receivables (4) the treatment of origination fees and costs, including the amortization method for net deferred fees or costs (5) the treatment of any premiums or discounts or unearned income (6) the entity's income recognition policies for such receivables, including those that are impaired, past due or placed on nonaccrual status and (7) the treatment of foreclosures or repossessions (8) the nature and amount of any guarantees to repurchase receivables.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=65890831&amp;loc=d3e10133-111534<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66008989&amp;loc=d3e4975-111524<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its research and development and computer software activities including the accounting treatment for costs incurred for (1) research and development activities, (2) development of computer software for internal use, (3) computer software to be sold, leased or otherwise marketed as a separate product or as part of a product or process and (4) in-process research and development acquired in a purchase business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Research and Development<br> -URI http://asc.fasb.org/extlink&amp;oid=6523717<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 40<br> -Section 30<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6389767&amp;loc=d3e17916-109280<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.15)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 50<br> -Section 25<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=16397303&amp;loc=d3e19347-109286<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchDevelopmentAndComputerSoftwarePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue recognition. If the entity has different policies for different types of revenue transactions, the policy for each material type of transaction is generally disclosed. If a sales transaction has multiple element arrangements (for example, delivery of multiple products, services or the rights to use assets) the disclosure may indicate the accounting policy for each unit of accounting as well as how units of accounting are determined and valued. The disclosure may encompass important judgment as to appropriateness of principles related to recognition of revenue. The disclosure also may indicate the entity's treatment of any unearned or deferred revenue that arises from the transaction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.B.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18726-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for stock option and stock incentive plans. This disclosure may include (1) the types of stock option or incentive plans sponsored by the entity (2) the groups that participate in (or are covered by) each plan (3) significant plan provisions and (4) how stock compensation is measured, and the methodologies and significant assumptions used to determine that measurement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5047-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b),(f)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardProductWarrantyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=68058157&amp;loc=d3e18780-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardProductWarrantyPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=64851502&amp;loc=d3e6061-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=64851502&amp;loc=d3e6143-108592<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=64851502&amp;loc=d3e6132-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6809170144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>Fair Value Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Assets and Liabilities Measured at Fair Value on a Recurring Basis</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities measured at fair value on a recurring basis as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:93.56725146198829%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Quoted&#160;Prices&#160;in</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Active Markets</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">for Identical</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Assets (Level&#160;1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Significant&#160;Other</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Observable</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Inputs (Level&#160;2)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unobservable Inputs                       (Level 3)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,334</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">311,140</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">159,455</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,560</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,883</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,242</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,750</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">43</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4,173</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liabilities measured at fair value using Level 3 inputs (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:77%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:21%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration resulting from Manatee acquisition </font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,790</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(790</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Payment of Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(337</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(463</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration resulting from EnShape acquisition </font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,362</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration resulting from Chiaro acquisition </font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">611</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,173</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19279-110258<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19190-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6659264720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock', window );">Components of Cash, Cash Equivalents and Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:66%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">77,307</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,334</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,024</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">79,641</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">51,975</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">141,188</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">54,376</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">69,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">61,994</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">67,175</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">109,360</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">46,499</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,730</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,298</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,440</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">590</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,903</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">978</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">341,194</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,468</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">169,952</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">176,575</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">92,280</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">44,437</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,946</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">24,582</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">23,585</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,503</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">10,339</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,180</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,233</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,869</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Limited partnership interest (accounted for using cost method)</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">942</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">324,335</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">273,088</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">745,170</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">621,531</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock', window );">Summary of Available-for-Sale Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16" rowspan="1"></td></tr><tr><td style="width:37%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortized</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Cost</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gains</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">141,216</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(65</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">141,188</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,623</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(27</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,201</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(47</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,175</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,173</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">326</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,313</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(15</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,298</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,900</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,903</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">169,911</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">406</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(365</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">169,952</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,392</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(152</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,280</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,968</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(47</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,946</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,704</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(125</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,585</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,310</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,339</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,236</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,233</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">665,464</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">913</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(848</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">665,529</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock', window );">Gross Unrealized Losses and Fair Value for Available-for-Sale Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24" rowspan="1"></td></tr><tr><td style="width:35%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized Loss</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Position For Less than</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized Loss<br clear="none"/>Position For Greater than<br clear="none"/>12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized<br clear="none"/>Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Unrealized<br clear="none"/>Losses</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">117,853</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(400</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,931</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(30</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">132,784</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(430</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">99,358</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(199</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">99,358</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(199</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">45,429</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(70</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,998</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">51,427</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(74</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,687</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(140</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,687</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(140</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,028</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,028</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">294,355</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(814</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20,929</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(34</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">315,284</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(848</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock', window );">Effective Maturity Dates of Available-for-Sale Investments</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the effective maturity dates of the Company&#8217;s available-for-sale investments as of December&#160;31, </font><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">2016</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="25" rowspan="1"></td></tr><tr><td style="width:34%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:7%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:7%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:7%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">&lt;1&#160;Year</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">1-2&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2-3&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">3-4&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">4-5&#160;Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">141,188</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">84,007</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77,975</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,211</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,759</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">311,140</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,175</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92,280</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">159,455</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">69,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,957</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,372</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,530</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">87</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,560</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro liquidity fund</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,499</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,298</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">19,007</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,578</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,883</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,903</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,614</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,725</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,242</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,517</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,233</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,750</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">341,194</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">213,098</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">92,650</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,741</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,846</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">665,529</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Components of cash cash equivalents and investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation of available-for-sale securities from cost basis to fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For all investments in an unrealized loss position, including those for which other-than-temporary impairments have not been recognized in earnings (including investments for which a portion of an other-than-temporary impairment has been recognized in other comprehensive income), a tabular disclosure of the aggregate related fair value of investments with unrealized losses and the aggregate amount of unrealized losses (that is, the amount by which amortized cost basis exceeds fair value).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27290-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836993184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:67%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Raw materials</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,224</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,301</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Work-in-process</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,760</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,136</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Finished goods</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,897</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,984</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,334</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6361739&amp;loc=d3e7789-107766<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836986672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant, and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant, and Equipment</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:65%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Land</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Buildings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">23,280</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,439</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Building improvements</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28,049</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25,741</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Leasehold improvements</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,237</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,999</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Computer hardware and software</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39,409</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,350</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Manufacturing test equipment</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,726</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,201</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Furniture and fixtures</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,843</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,401</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">123,495</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">114,082</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Less: accumulated depreciation</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(69,503</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(60,797</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">53,992</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">53,285</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6832513328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Changes in the Carrying Value of Goodwill</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the carrying value of goodwill were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:84%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77,388</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of Manatee Works, Inc. </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,060</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">81,448</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of AQSense, S.L. </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,383</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of EnShape GmbH</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,613</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of Chiaro Technologies LLC </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,911</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Acquisition of Webscan, Inc.</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">925</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">95,280</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13854-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822373696">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Amortized Intangible Assets</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37,422</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">638</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,605</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,836</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,769</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,003</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,098</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,905</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">52,668</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">44,356</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,312</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,051</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,009</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,880</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,749</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,340</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,165</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,175</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,280</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40,965</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,315</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Estimated Amortization Expense Succeeding Fiscal Years</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Estimated amortization expense for each of the five succeeding fiscal years and thereafter is as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,311</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,770</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,395</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">971</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">794</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,071</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,312</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6809565456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock', window );">Constituents of Accrued Expenses</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:65%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Company bonuses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,462</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,895</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Salaries, commissions, and payroll taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,193</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,859</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vacation</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,860</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,482</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,335</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,174</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign retirement obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,388</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,249</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,301</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,613</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">42,539</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,272</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Changes in Warranty Obligations</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,086</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,383</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,873</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(422</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,174</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,001</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,689</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(151</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,335</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822270896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock', window );">Future Minimum Rental Payments Under Lease Agreements</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Future minimum rental payments under these agreements are as follows (in thousands):</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.41520467836257%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:84%;" rowspan="1" colspan="1"></td><td style="width:3%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,054</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,303</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,164</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,853</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,735</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,498</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">15,607</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock', window );">Future Minimum Rental Receipts Under Non - Cancelable Lease Agreements</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Rental income and related expenses are included in &#8220;Other income (expense)&#8221; on the Consolidated Statements of Operations.  Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5" rowspan="1"></td></tr><tr><td style="width:84%;" rowspan="1" colspan="1"></td><td style="width:3%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">812</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">530</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">543</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">557</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">187</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,629</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule of future minimum rental receipts for operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ScheduleOfFutureMinimumRentalReceiptsForOperatingLeasesTableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of future minimum payments required in the aggregate and for each of the five succeeding fiscal years for operating leases having initial or remaining noncancelable lease terms in excess of one year and the total minimum rentals to be received in the future under noncancelable subleases as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6453985&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822460272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock', window );">Schedule of Notional Amounts of Outstanding Derivative Positions</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands): </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2015</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Currency</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Notional Value</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">USD Equivalent</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">Notional Value</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;text-decoration:underline;">USD Equivalent</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:10px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">United States Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,720</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,720</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">342,500</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,960</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">942,500</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,605</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">39,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">130</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">547,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,893</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,063</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,425</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Canadian Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">34</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="12" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">650,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,554</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">700,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,800</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,658</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,441</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,750,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,450</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,400,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,187</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">425,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,448</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">250,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">857</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">929</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,525</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,074</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">802</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,425</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">800</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20" rowspan="1"></td></tr><tr><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" colspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Balance</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Sheet</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Location&#160; &#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" colspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Balance</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Sheet</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Location&#160; &#160;&#160;&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">December 31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2015</font></div></td></tr><tr><td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedge forward contracts</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">expenses&#160;and</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">other current</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">43</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">441</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">201</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="20" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">43</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OffsettingAssetsTableTextBlock', window );">Offsetting Assets</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the gross activity for all derivative assets and liabilities which were presented on a net basis on the Consolidated Balance Sheets due to the right of offset with each counterparty (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="19" rowspan="1"></td></tr><tr><td style="width:18%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:19%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December&#160;31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December&#160;31, 2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2015</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">117</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">479</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">279</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(73</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(29</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(35</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of assets presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">44</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">450</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">244</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Derivative Instruments, Gain (Loss)</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments, net of the underlying exposure, on the consolidated financial statements was as follows (in thousands):</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="14" rowspan="1"></td></tr><tr><td style="width:22%;" rowspan="1" colspan="1"></td><td style="width:24%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Location in Financial Statements</font></div></td><td rowspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December 31,</font></div></td></tr><tr><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recorded in shareholders' equity (effective portion)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive income (loss), net of tax</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">206</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(438</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(387</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(14</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(42</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(398</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(201</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(46</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:13px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="14" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(515</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">247</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock', window );">Schedule of Derivative Instruments, Effect on Other Comprehensive Income (Loss)</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the changes in accumulated other comprehensive income (loss), net of tax, related to derivative instruments (in thousands):</font><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:79%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:19%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized loss on cash flow hedges</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(27</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized loss on cash flow hedges into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">201</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">206</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net unrealized loss on cash flow hedges</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(567</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized loss on cash flow hedges into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">398</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">37</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OffsettingAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of derivative and other financial assets that are subject to offsetting, including master netting arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225877-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OffsettingAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the effective portion of the gains and losses on derivative instruments designated (and non-derivative instruments) designated and qualifying in cash flow hedges and net investment hedges that was recognized in other comprehensive income (loss) during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsEffectOnOtherComprehensiveIncomeLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5618551-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the notional amounts of outstanding derivative positions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5579245-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNotionalAmountsOfOutstandingDerivativePositionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6660627744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Stock Option Activity</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity:</font></div><div style="line-height:120%;padding-bottom:6px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="13" rowspan="1"></td></tr><tr><td style="width:45%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(in&#160;thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Exercise</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Price</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Remaining</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Contractual</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Term</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(in&#160;years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Aggregate</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Intrinsic Value</font></div><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(in&#160;thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,644</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">28.27</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,930</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35.58</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercised</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,977</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21.99</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(164</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37.45</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,433</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">32.16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">202,368</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercisable as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,037</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">22.21</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.3</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">84,359</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of&#160;<br clear="none"/>&#160;December 31, 2016 (1)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,837</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">31.52</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">187,350</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;padding-left:4px;padding-top:12px;text-align:left;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) In addition to the vested options, the Company expects a portion of the unvested options to vest at some point in the future. Options expected to vest are calculated by applying an estimated forfeiture rate to the unvested options.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:56%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Risk-free rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1.7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.6</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected dividend yield</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.83</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1.25</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected volatility</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected term (in years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.6</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock', window );">Nonvested Restricted Stock Shares Activity [Table Text Block]</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's restricted stock activity: </font></div><div style="line-height:120%;padding-top:6px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="11" rowspan="1"></td></tr><tr><td style="width:46%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average       Grant Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate Intrinsic Value                  (in thousands) (1)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2015</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">34.05</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vested</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">34.05</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,272</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">  &#160;&#160;&#160;&#160;(1) Fair market value as of December 31, 2016.</font></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Stock-Based Compensation Expense</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table presents the stock-based compensation expense by caption for each period presented on the Consolidated Statements of Operations (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,052</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,515</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,116</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,271</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,194</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,709</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,235</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,032</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,234</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discontinued operations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,533</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">20,558</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,274</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,158</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in outstanding nonvested restricted stock shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average exercise prices (or conversion ratios) for share options (or share units) that were outstanding at the beginning and end of the year, vested and expected to vest, exercisable or convertible at the end of the year, and the number of share options or share units that were granted, exercised or converted, forfeited, and expired during the year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822444432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Constituents of Provision for Income Taxes</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense on continuing operations consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="12" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Current:</font></div></td><td colspan="11" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Federal</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">14,459</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,430</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18,852</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(617</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">378</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">608</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,149</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,946</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,854</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21,991</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,754</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">24,314</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Federal</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(3,031</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,541</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,569</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,066</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(165</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,058</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">250</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(837</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(3,023</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,456</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,399</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">18,968</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">19,298</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:top;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20,915</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Reconciliation of the United States Federal Statutory Corporate Tax Rate to the Company's Effective Tax Rate or Income Tax Provision</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">A reconciliation of the U.S. federal statutory corporate tax rate to the Company&#8217;s income tax expense on continuing operations, or effective tax rate, was as follows:</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:56%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision at federal statutory corporate tax rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(17</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(19</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(19</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Tax credit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to employee stock option exercises</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other discrete tax events</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision on continuing operations</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock', window );">Changes in the Reserve for Income Taxes, Excluding Interest and Penalties</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the reserve for income taxes, excluding gross interest and penalties, were as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance of reserve for income taxes as of December 31, 2014</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,127</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in prior periods</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(56</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,291</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,066</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance of reserve for income taxes as of December 31, 2015</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,296</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in prior periods</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,235</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(823</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance of reserve for income taxes as of December 31, 2016</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,719</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Constituents of Deferred Tax Assets</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Deferred tax assets and liabilities consisted of the following (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8" rowspan="1"></td></tr><tr><td style="width:67%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-current deferred tax assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">15,365</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,895</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Federal and state tax credit carryforwards</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,154</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,091</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventory and revenue related</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,919</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,985</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Depreciation</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,882</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,328</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Bonuses, commissions, and other compensation</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,483</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,500</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,714</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,175</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross non-current deferred tax assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">32,517</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,974</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-current deferred tax liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nondeductible intangible assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(379</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,198</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross non-current deferred tax liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(379</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,198</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Valuation allowance</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(4,116</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,259</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net non-current deferred tax assets</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">28,022</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,517</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:18px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-current deferred tax liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;&#160;Other</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(319</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net non-current deferred tax liabilities</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(319</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SummaryOfIncomeTaxContingenciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for tax positions taken in the tax returns filed or to be filed for which it is more likely than not that the tax position will not be sustained upon examination by taxing authorities and other income tax contingencies. Includes, but is not limited to, interest and penalties, reconciliation of unrecognized tax benefits, unrecognized tax benefits that would affect the effective tax rate, tax years that remain subject to examination by tax jurisdictions, and information about positions for which it is reasonably possible that amounts unrecognized will significantly change within 12 months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=SL6600010-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32718-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32840-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SummaryOfIncomeTaxContingenciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6837043936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted Average Shares (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Calculation of Weighted Average Shares</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="9" rowspan="1"></td></tr><tr><td style="width:56%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;color:#ee2724;">&#160;</font></div></td><td colspan="8" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Year Ended December&#160;31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">2014</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">85,338</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,296</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">86,858</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Effect of dilutive stock options</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,734</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,695</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,213</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Diluted weighted-average common and common-equivalent shares outstanding</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">87,072</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">87,991</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">89,071</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6831340960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock', window );">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes information about geographic areas (in thousands):</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="20" rowspan="1"></td></tr><tr><td style="width:31%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">United&#160;States</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Europe</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Greater China </font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Other</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Year Ended December 31, 2016</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">136,611</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">231,731</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">63,471</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88,940</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">520,753</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-lived assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">40,404</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,981</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">994</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,932</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,311</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Year Ended December 31, 2015</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">119,781</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">199,127</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">54,137</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">77,512</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">450,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-lived assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">40,742</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,498</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">873</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,781</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,894</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Year Ended December 31, 2014</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">120,523</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">195,214</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,184</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">72,528</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">426,449</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-lived assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,750</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,941</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">858</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,919</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,468</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material.  An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6837049008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued Operations Discontinued Operations - (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract', window );"><strong>Discontinued Operations and Disposal Groups [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock', window );">Schedule of Discontinued Operations</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The financial results of SISD are reported as a discontinued operation for all periods presented.  In 2015, a pre-tax gain of </font><font style="font-family:Arial;font-size:10pt;">$125,357,000</font><font style="font-family:Arial;font-size:10pt;"> and associated income tax expense of </font><font style="font-family:Arial;font-size:10pt;">$47,175,000</font><font style="font-family:Arial;font-size:10pt;"> was recorded in "Net income (loss) from discontinued operations" on the Consolidated Statements of Operations.  In 2016, a binding arbitration was concluded in the second quarter of 2016 with respect to certain product performance claims made by an SISD customer, for which the Company remained responsible under the indemnity provisions of the sale transaction.  In that proceeding, the tribunal ordered the Company to pay the customer approximately </font><font style="font-family:Arial;font-size:10pt;">$326,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing a refund of the product purchase price.  The tribunal also ordered the customer to pay the Company approximately </font><font style="font-family:Arial;font-size:10pt;">$45,000</font><font style="font-family:Arial;font-size:10pt;">, primarily representing reimbursement of legal fees.  The net settlement of </font><font style="font-family:Arial;font-size:10pt;">$281,000</font><font style="font-family:Arial;font-size:10pt;"> was recorded in discontinued operations in the second quarter of 2016, along with </font><font style="font-family:Arial;font-size:10pt;">$123,000</font><font style="font-family:Arial;font-size:10pt;"> of legal fees.  The tax benefit related to this expense was </font><font style="font-family:Arial;font-size:10pt;">$149,000</font><font style="font-family:Arial;font-size:10pt;">, resulting in a net loss from discontinued operations of </font><font style="font-family:Arial;font-size:10pt;">$255,000</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The major classes of revenue and expense included in discontinued operations were as follows (in thousands):</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13" rowspan="1"></td></tr><tr><td style="width:64%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Year Ended December 31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,248</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,821</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11,291</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(26,953</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,126</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(4,089</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(7,800</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12,968</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency loss</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(177</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(170</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Operating income from discontinued business</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,854</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,641</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gain (loss) on sale of discontinued business</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(404</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">125,357</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income from discontinued operations before income tax expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(404</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">127,211</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,641</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax expense (benefit) on discontinued operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(149</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,801</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,997</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net income (loss) from discontinued operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(255</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">79,410</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,644</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Significant non-cash items related to the discontinued business were as follows (in thousands):</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13" rowspan="1"></td></tr><tr><td style="width:64%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Year Ended December 31,</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2016</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2015</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2014</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,533</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Depreciation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">401</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">777</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortization expense</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">165</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">364</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Capital expenditures</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">482</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">631</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationsAndDisposalGroupsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information related to a disposal group. Includes, but is not limited to, a discontinued operation, disposal classified as held-for-sale or disposed of by means other than sale or disposal of an individually significant component.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721533-107759<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4B<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721665-107760<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1474-107760<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721683-107760<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=64862545&amp;loc=SL51724579-110230<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721675-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4A<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721663-107760<br><br>Reference 9: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=64862545&amp;loc=d3e2941-110230<br><br>Reference 10: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br><br>Reference 11: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721659-107760<br><br>Reference 12: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5A<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721671-107760<br><br>Reference 13: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5D<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721677-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836993184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions Acquisitions - (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract', window );"><strong>Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock', window );">Schedule of Indefinite-lived Intangible Assets Acquired as Part of Business Combination</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:85%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">140</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">590</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,813</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:86%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">504</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">680</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">840</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">925</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(77</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,176</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:86%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">167</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">79</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">44</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">447</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,089</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,613</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(6</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(209</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(2,342</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,901</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:86%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">168</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">598</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">384</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,383</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(14</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,519</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The purchase price was allocated as follows (in thousands):</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4" rowspan="1"></td></tr><tr><td style="width:86%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,350</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,911</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(115</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:36px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Purchase price</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,149</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of characteristics and cost, by total and major class, of indefinite-lived intangible assets acquired as part of a business combination. Indefinite-lived intangible assets are assets that have no physical form, but have expected future economic benefit. The future benefit is not expected to diminish over a stated period of time. Acquired indefinite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the entity) and in total.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4922-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6831776112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Additional Information (Detail)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum', window );">Effective maturity of investments</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MaximumInvestmentOfCompanyInPartnership', window );">Maximum investment of the company in partnership</a></td>
<td class="nump">5.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">39 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember', window );">Building Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cgnx_ComputerHardwareAndSoftwareMember', window );">Computer Hardware and Software [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cgnx_ComputerHardwareAndSoftwareMember', window );">Computer Hardware and Software [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Manufacturing test equipment [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Manufacturing test equipment [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale Securities, Debt Maturities, Effective Term, Maximum</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableforsaleSecuritiesDebtMaturitiesEffectiveTermMaximum</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_MaximumInvestmentOfCompanyInPartnership">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum investment of the company in partnership.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_MaximumInvestmentOfCompanyInPartnership</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cgnx_ComputerHardwareAndSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=cgnx_ComputerHardwareAndSoftwareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RangeAxis=us-gaap_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RangeAxis=us-gaap_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RangeAxis=us-gaap_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RangeAxis=us-gaap_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6806480912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies Summary of Significant Accounting Policies - Goodwill (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_QualitativeAssessmentyears', window );">Qualitative Assessment, years</a></td>
<td class="text">6 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_QualitativeAssessmentyears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Qualitative Assessment, years</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_QualitativeAssessmentyears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841913424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Intangible Assets (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember', window );">Distribution Rights [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">11 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember', window );">Distribution Rights [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">12 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember', window );">Customer Contracts And Relationships [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember', window );">Customer Contracts And Relationships [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">7 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember', window );">Completed Technologies And Other Intangible Assets [Member] | Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember', window );">Completed Technologies And Other Intangible Assets [Member] | Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">7 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RangeAxis=us-gaap_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RangeAxis=us-gaap_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RangeAxis=us-gaap_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RangeAxis=us-gaap_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CompletedTechnologiesAndOtherIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841396352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Warranty (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2016</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RangeAxis=us-gaap_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ProductWarrantyPeriod', window );">Product Warranty Period</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RangeAxis=us-gaap_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductLiabilityContingencyLineItems', window );"><strong>Product Liability Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ProductWarrantyPeriod', window );">Product Warranty Period</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ProductWarrantyPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Product warranty period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ProductWarrantyPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductLiabilityContingencyLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductLiabilityContingencyLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RangeAxis=us-gaap_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RangeAxis=us-gaap_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RangeAxis=us-gaap_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RangeAxis=us-gaap_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841787184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Advertising Costs (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdvertisingExpense', window );">Advertising costs</a></td>
<td class="nump">$ 1,674,000<span></span>
</td>
<td class="nump">$ 2,009,000<span></span>
</td>
<td class="nump">$ 2,609,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount charged to advertising expense for the period, which are expenses incurred with the objective of increasing revenue for a specified brand, product or product line.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 720<br> -SubTopic 35<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6420018&amp;loc=d3e36677-107848<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6847881808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Comprehensive Income (Loss) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax', window );">Accumulated other comprehensive loss consists of foreign currency translation adjustments, net of tax</a></td>
<td class="nump">$ 55,262,000<span></span>
</td>
<td class="nump">$ 49,646,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax', window );">Net unrealized losses on available-for-sale investments, net of tax</a></td>
<td class="nump">68,000<span></span>
</td>
<td class="nump">1,413,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax', window );">Losses on currency swaps, net of gains on long-term intercompany loans</a></td>
<td class="nump">1,271,000<span></span>
</td>
<td class="nump">1,271,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Net realized gains reclassified into current operations</a></td>
<td class="nump">191,000<span></span>
</td>
<td class="nump">344,000<span></span>
</td>
<td class="nump">$ 673,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember', window );">Accumulated Other Comprehensive Loss [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Net realized gains reclassified into current operations</a></td>
<td class="nump">191,000<span></span>
</td>
<td class="nump">344,000<span></span>
</td>
<td class="nump">673,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CashFlowHedgingMember', window );">Cash Flow Hedging [Member] | Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Accumulated Other Comprehensive Income (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet', window );">Net unrealized gains on derivative instruments</a></td>
<td class="num">$ (37,000)<span></span>
</td>
<td class="num">$ (206,000)<span></span>
</td>
<td class="num">$ (32,000)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated appreciation or loss, net of tax, in value of the total of available-for-sale securities at the end of an accounting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669686-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e681-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated adjustment, net of tax, that results from the process of translating subsidiary financial statements and foreign equity investments into the reporting currency from the functional currency of the reporting entity, net of reclassification of realized foreign currency translation gains or losses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e681-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669646-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32022-110900<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669686-108580<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Current period adjustment resulting from gains and losses on intercompany foreign currency transactions that are of a long-term-investment nature because settlement is not planned or anticipated in the foreseeable future.  Resulting from the entities to the transaction being consolidated, combined, or accounted for by the equity method in the reporting entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 35<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6939497&amp;loc=d3e30304-110892<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b),(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32211-110900<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32157-110900<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450520&amp;loc=d3e32583-110901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentForLongTermIntercompanyTransactionsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The effective portion of gains and losses (net) on derivative instruments designated and qualifying as hedging instruments that was recognized in other comprehensive income during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27357-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e689-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CashFlowHedgingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CashFlowHedgingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6844429520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail) - Fair Value, Measurements, Recurring [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet', window );">Other than Temporary Impairment Losses, Investments, Portion Recognized in Earnings, Net</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent', window );">Other Than Temporary Impairment Losses Investments Portion Recognized In Earnings Net, non current</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Quoted Prices in Active Markets for Identical Assets (Level 1) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MoneyMarketInstrumentsFairValueDisclosure', window );">Money market instruments</a></td>
<td class="nump">2,334,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CorporateBondsFairValueDisclosure', window );">Corporate bonds</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_TreasuryBillsFairValueDisclosure', window );">Treasury bills</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AssetBackedSecuritiesFairValueDisclosure', window );">Asset-backed securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AgencyBondsFairValueDisclosure', window );">Agency bonds</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MunicipalBondsFairValueDisclosure', window );">Municipal bonds</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue', window );">Cash flow hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Significant Other Observable Inputs (Level 2) [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsFairValueDisclosureAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MoneyMarketInstrumentsFairValueDisclosure', window );">Money market instruments</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CorporateBondsFairValueDisclosure', window );">Corporate bonds</a></td>
<td class="nump">311,140,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_TreasuryBillsFairValueDisclosure', window );">Treasury bills</a></td>
<td class="nump">159,455,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AssetBackedSecuritiesFairValueDisclosure', window );">Asset-backed securities</a></td>
<td class="nump">96,560,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Euroliquidityfunds', window );">Euro liquidity funds</a></td>
<td class="nump">46,499,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_SovereignBondsFairValueDisclosure', window );">Sovereign bonds</a></td>
<td class="nump">30,883,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AgencyBondsFairValueDisclosure', window );">Agency bonds</a></td>
<td class="nump">13,242,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MunicipalBondsFairValueDisclosure', window );">Municipal bonds</a></td>
<td class="nump">7,750,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue', window );">Cash flow hedge forward contracts</a></td>
<td class="nump">43,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">1,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="num">(11,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Fair Value, Inputs, Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueDisclosureAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration liabilities</a></td>
<td class="num">$ (4,173,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AgencyBondsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Agency bonds fair value disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AgencyBondsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AssetBackedSecuritiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Asset Backed Securities Fair Value Disclosure</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AssetBackedSecuritiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CorporateBondsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Corporate bonds fair value disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CorporateBondsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Euroliquidityfunds">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A pool that invests in investment grade bonds</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Euroliquidityfunds</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_MoneyMarketInstrumentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Money market instruments fair value disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_MoneyMarketInstrumentsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_MunicipalBondsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Municipal bonds fair value disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_MunicipalBondsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Other Than Temporary Impairment Losses Investments Portion Recognized In Earnings Net, non current</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNetnoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_SovereignBondsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sovereign bonds fair value disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_SovereignBondsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_TreasuryBillsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Treasury bills fair value disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_TreasuryBillsFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsFairValueDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsFairValueDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6911338&amp;loc=d3e6819-128478<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value as of the balance sheet date of all foreign currency derivative assets designated as cash flow hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624163-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyCashFlowHedgeAssetAtFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractAssetFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of other than temporary impairment (OTTI) losses on equity securities, OTTI related to credit losses on debt securities, and OTTI losses on debt securities when the entity intends to sell the securities or it is more likely than not that the entity will be required to sell the securities before recovery of its amortized cost basis. Additionally, this item includes OTTI losses recognized during the period on investments accounted for under the cost method of accounting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8B<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=SL6284393-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherThanTemporaryImpairmentLossesInvestmentsPortionRecognizedInEarningsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6847465968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Beginning balance</a></td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueAdjustment', window );">Fair value adjustment</a></td>
<td class="num">(463)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Ending balance</a></td>
<td class="nump">4,173<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member', window );">Manatee Works, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases', window );">Contingent consideration resulting from acquisitions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,790<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesFairValueAdjustment', window );">Fair value adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (790)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements', window );">Payment of contingent consideration</a></td>
<td class="num">(337)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember', window );">EnShape GmbH [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases', window );">Contingent consideration resulting from acquisitions</a></td>
<td class="nump">1,362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember', window );">Chiaro Technologies LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases', window );">Contingent consideration resulting from acquisitions</a></td>
<td class="nump">$ 611<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of purchases of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of settlements of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19207-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of addition (reduction) to the amount at which a liability could be incurred (settled) in a current transaction between willing parties.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesFairValueAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822387104">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fair Value Measurements - Narrative (Details)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsNonrecurringMember', window );">Fair Value, Measurements, Nonrecurring</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems', window );"><strong>Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure', window );">Fair value of limited partnership</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of investments in an entity not consolidated. Includes, but is not limited to, investments in an entity that is affiliated with the reporting entity by means of direct or indirect ownership, an entity in which the reporting entity shares control of the entity with another party or group, an entity which the company has significant influence, but does not have control and subsidiaries that are not required to be consolidated and are accounted for using the equity or cost method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66048111&amp;loc=d3e19190-110258<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsNonrecurringMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsNonrecurringMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6848388176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents and Investments - Components of Cash, Cash Equivalents and Investments (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
<th class="th"><div>Dec. 31, 2013</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">$ 77,307<span></span>
</td>
<td class="nump">$ 45,951<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">2,334<span></span>
</td>
<td class="nump">6,024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">79,641<span></span>
</td>
<td class="nump">51,975<span></span>
</td>
<td class="nump">$ 55,694<span></span>
</td>
<td class="nump">$ 40,644<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">341,194<span></span>
</td>
<td class="nump">296,468<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostMethodInvestments', window );">Limited partnership interest (accounted for using cost method)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments</a></td>
<td class="nump">324,335<span></span>
</td>
<td class="nump">273,088<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments', window );">Total</a></td>
<td class="nump">745,170<span></span>
</td>
<td class="nump">621,531<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasuryBillSecuritiesMember', window );">Treasury Bills [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">67,175<span></span>
</td>
<td class="nump">109,360<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">92,280<span></span>
</td>
<td class="nump">44,437<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">69,614<span></span>
</td>
<td class="nump">61,994<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">26,946<span></span>
</td>
<td class="nump">24,582<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">141,188<span></span>
</td>
<td class="nump">54,376<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">169,952<span></span>
</td>
<td class="nump">176,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember', window );">Euro liquidity fund [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">46,499<span></span>
</td>
<td class="nump">47,730<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">7,298<span></span>
</td>
<td class="nump">21,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">23,585<span></span>
</td>
<td class="nump">13,503<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">2,903<span></span>
</td>
<td class="nump">978<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">10,339<span></span>
</td>
<td class="nump">8,180<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Short-term investments</a></td>
<td class="nump">6,517<span></span>
</td>
<td class="nump">590<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">$ 1,233<span></span>
</td>
<td class="nump">$ 4,869<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash, cash equivalents, short term and long term investments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CashCashEquivalentsShortTermAndLongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investments in debt securities classified as available-for-sale, expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65884222&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=66010992&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of debt securities categorized neither as held-to-maturity nor trading which are intended be sold or mature more than one year from the balance sheet date or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65884222&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=66010992&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash<br> -URI http://asc.fasb.org/extlink&amp;oid=6506951<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash<br> -URI http://asc.fasb.org/extlink&amp;oid=6506951<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6676-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3044-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash Equivalents<br> -URI http://asc.fasb.org/extlink&amp;oid=6507016<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after adjustment, of cost-method investment. Adjustments include, but are not limited to, dividends received in excess of earnings after date of investment that are considered a return of investment and other than temporary impairments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 325<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6872867&amp;loc=d3e40691-111596<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 325<br> -SubTopic 20<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=29638308&amp;loc=d3e40346-111594<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MoneyMarketFundsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash Equivalents<br> -URI http://asc.fasb.org/extlink&amp;oid=6507016<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MoneyMarketFundsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasuryBillSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasuryBillSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6833080752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents and Investments - Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_DueFromForeignBanks', window );">Cash balance included foreign bank balance</a></td>
<td class="nump">$ 68,076,000<span></span>
</td>
<td class="nump">$ 39,279,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains', window );">Gross realized gains on sale of debt securities</a></td>
<td class="nump">292,000<span></span>
</td>
<td class="nump">549,000<span></span>
</td>
<td class="nump">$ 843,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses', window );">Gross realized losses on sale of debt securities</a></td>
<td class="nump">101,000<span></span>
</td>
<td class="nump">205,000<span></span>
</td>
<td class="nump">$ 170,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MaximumInvestmentInLimitedPartnership', window );">Maximum amount committed to invest in limited partnership</a></td>
<td class="nump">20,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ContributionToLimitedPartnership', window );">Contribution to limited partnership</a></td>
<td class="nump">19,886,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_RemainingAmountOfCommitment', window );">Remaining amount of commitment in limited partnership</a></td>
<td class="nump">614,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ContributionMadeToPartnershipDuringPeriod', window );">Contributions made during the year</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLimitedPartnershipInvestments', window );">Proceeds from Limited Partnership Investments</a></td>
<td class="nump">2,257,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostMethodInvestments', window );">Carrying value of investment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 942,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PartnersCapitalAccountReturnOfCapital', window );">Return of capital</a></td>
<td class="nump">942,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostMethodInvestmentsRealizedGains', window );">Cost method investment, investment income</a></td>
<td class="nump">$ 1,315,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ContributionMadeToPartnershipDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contribution made to partnership during period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ContributionMadeToPartnershipDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ContributionToLimitedPartnership">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contribution to limited partnership.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ContributionToLimitedPartnership</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DueFromForeignBanks">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Due from foreign banks.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_DueFromForeignBanks</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_MaximumInvestmentInLimitedPartnership">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum amount committed to invest in limited partnership.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_MaximumInvestmentInLimitedPartnership</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_RemainingAmountOfCommitment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Remaining amount of commitment in limited partnership.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_RemainingAmountOfCommitment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the gross profit realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesGrossRealizedGains</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the gross loss realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after adjustment, of cost-method investment. Adjustments include, but are not limited to, dividends received in excess of earnings after date of investment that are considered a return of investment and other than temporary impairments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 325<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6872867&amp;loc=d3e40691-111596<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 325<br> -SubTopic 20<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=29638308&amp;loc=d3e40346-111594<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostMethodInvestmentsRealizedGains">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For investments in debt and equity securities accounted for at cost, the excess of net sale proceeds over the carrying amount of investments disposed of during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostMethodInvestmentsRealizedGains</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PartnersCapitalAccountReturnOfCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total change in each class of partners' capital accounts during the year due to the return of partner's capital. That is, excess distributions over earnings to partners. All partners include general, limited and preferred partners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 4.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187171-122770<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PartnersCapitalAccountReturnOfCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLimitedPartnershipInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash inflow received as distributions, returns of capital, or sale proceeds from partnership interests held for investment purposes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLimitedPartnershipInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6849315760">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents and Investments - Amortized Cost to Fair Value (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">$ 665,464<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">913<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(848)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">665,529<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember', window );">Euro liquidity fund [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">46,499<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember', window );">Euro liquidity fund [Member] | Short-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">46,173<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">326<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">46,499<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">311,140<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds [Member] | Short-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">141,216<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">37<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(65)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">141,188<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds [Member] | Long-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">169,911<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">406<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(365)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">169,952<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">13,242<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency Bonds [Member] | Short-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">2,900<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">2,903<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency Bonds [Member] | Long-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">10,310<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">29<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">10,339<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">96,560<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities [Member] | Short-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">69,623<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">18<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(27)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">69,614<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities [Member] | Long-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">26,968<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">25<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(47)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">26,946<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">7,750<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds [Member] | Short-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">6,517<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(2)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">6,517<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds [Member] | Long-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">1,236<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">1,233<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">159,455<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills [Member] | Short-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">67,201<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">21<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(47)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">67,175<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills [Member] | Long-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">92,392<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">40<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(152)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">92,280<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">30,883<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds [Member] | Short-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">7,313<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(15)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">7,298<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds [Member] | Long-term investments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Amortized Cost</a></td>
<td class="nump">23,704<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross Unrealized Gains</a></td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross Unrealized Losses</a></td>
<td class="num">(125)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">$ 23,585<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the cost of debt securities, which are categorized neither as held-to-maturity nor trading, net of adjustments including accretion, amortization, collection of cash, previous other-than-temporary impairments recognized in earnings (less any cumulative-effect adjustments recognized, as defined), and fair value hedge accounting adjustments, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27161-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of unrealized gain in accumulated other comprehensive income (AOCI) on investments in debt and equity securities classified as available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of unrealized loss in accumulated other comprehensive income (AOCI) on investments in debt and equity securities classified as available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of debt securities categorized neither as held-to-maturity nor trading.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65884222&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66010992&amp;loc=d3e26610-111562<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27161-111563<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)-(g)<br> -URI http://asc.fasb.org/extlink&amp;oid=6957658&amp;loc=d3e62557-112803<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=us-gaap_ShortTermInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=us-gaap_ShortTermInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=cgnx_LongTermInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=cgnx_LongTermInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6848118544">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents and Investments - Gross Unrealized Losses and Fair Value for Available-for-Sale Investments (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair Value, Less than 12 months</a></td>
<td class="nump">$ 294,355<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized Losses, Less than 12 months</a></td>
<td class="num">(814)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair Value, Greater than 12 Months</a></td>
<td class="nump">20,929<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized Losses, Greater than 12 Months</a></td>
<td class="num">(34)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Fair Value</a></td>
<td class="nump">315,284<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss', window );">Unrealized Losses</a></td>
<td class="num">(848)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair Value, Less than 12 months</a></td>
<td class="nump">117,853<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized Losses, Less than 12 months</a></td>
<td class="num">(400)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair Value, Greater than 12 Months</a></td>
<td class="nump">14,931<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized Losses, Greater than 12 Months</a></td>
<td class="num">(30)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Fair Value</a></td>
<td class="nump">132,784<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss', window );">Unrealized Losses</a></td>
<td class="num">(430)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair Value, Less than 12 months</a></td>
<td class="nump">99,358<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized Losses, Less than 12 months</a></td>
<td class="num">(199)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Fair Value</a></td>
<td class="nump">99,358<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss', window );">Unrealized Losses</a></td>
<td class="num">(199)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair Value, Less than 12 months</a></td>
<td class="nump">45,429<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized Losses, Less than 12 months</a></td>
<td class="num">(70)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair Value, Greater than 12 Months</a></td>
<td class="nump">5,998<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized Losses, Greater than 12 Months</a></td>
<td class="num">(4)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Fair Value</a></td>
<td class="nump">51,427<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss', window );">Unrealized Losses</a></td>
<td class="num">(74)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair Value, Less than 12 months</a></td>
<td class="nump">27,687<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized Losses, Less than 12 months</a></td>
<td class="num">(140)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair Value, Greater than 12 Months</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized Losses, Greater than 12 Months</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Fair Value</a></td>
<td class="nump">27,687<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss', window );">Unrealized Losses</a></td>
<td class="num">(140)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair Value, Less than 12 months</a></td>
<td class="nump">4,028<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized Losses, Less than 12 months</a></td>
<td class="num">(5)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized Losses, Greater than 12 Months</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Fair Value</a></td>
<td class="nump">4,028<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss', window );">Unrealized Losses</a></td>
<td class="num">$ (5)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for twelve months or longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale in a continuous loss position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27337-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27290-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the aggregate fair value of investments in debt and equity securities in an unrealized loss position which are categorized neither as held-to-maturity nor trading securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27290-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for less than twelve months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for less than twelve months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27337-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27290-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for twelve months or longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841549936">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Less than 1 Year</a></td>
<td class="nump">$ 341,194<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">213,098<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">92,650<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">12,741<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">5,846<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">665,529<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Less than 1 Year</a></td>
<td class="nump">141,188<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">84,007<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">77,975<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">2,211<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">5,759<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">311,140<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Less than 1 Year</a></td>
<td class="nump">67,175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">92,280<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">159,455<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Less than 1 Year</a></td>
<td class="nump">69,614<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">8,957<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">7,372<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">10,530<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">87<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">96,560<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember', window );">Euro liquidity fund [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Less than 1 Year</a></td>
<td class="nump">46,499<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">46,499<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Less than 1 Year</a></td>
<td class="nump">2,903<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">7,614<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">2,725<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">13,242<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Less than 1 Year</a></td>
<td class="nump">7,298<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">19,007<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">4,578<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">30,883<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">Less than 1 Year</a></td>
<td class="nump">6,517<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 Years</a></td>
<td class="nump">1,233<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 Years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities', window );">Fair Value, Total</a></td>
<td class="nump">$ 7,750<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This item represents the fair value of debt securities which are expected to mature within one year of the balance sheet date and which are categorized neither as held-to-maturity nor trading securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale securities, debt maturities after third year but before fourth year, fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Available-for-sale securities, debt maturities after second year but before third year, fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value of available-for-sale debt securities maturing in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27198-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6957658&amp;loc=d3e62586-112803<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27161-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AvailableForSaleSecuritiesDebtSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of debt securities categorized neither as held-to-maturity nor trading.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65884222&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=66010992&amp;loc=d3e26610-111562<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=73527792&amp;loc=d3e27161-111563<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)-(g)<br> -URI http://asc.fasb.org/extlink&amp;oid=6957658&amp;loc=d3e62557-112803<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_EuroliquidityfundMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841193568">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories - Inventories (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 18,224<span></span>
</td>
<td class="nump">$ 27,301<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">2,760<span></span>
</td>
<td class="nump">3,136<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">6,000<span></span>
</td>
<td class="nump">6,897<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 26,984<span></span>
</td>
<td class="nump">$ 37,334<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.6(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=68049868&amp;loc=d3e3927-108312<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -URI http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841355376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property, Plant, and Equipment - Property, Plant, and Equipment (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and equipment, gross</a></td>
<td class="nump">$ 123,495<span></span>
</td>
<td class="nump">$ 114,082<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: accumulated depreciation</a></td>
<td class="num">(69,503)<span></span>
</td>
<td class="num">(60,797)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, Plant and Equipment, Net, Total</a></td>
<td class="nump">53,992<span></span>
</td>
<td class="nump">53,285<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember', window );">Land [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and equipment, gross</a></td>
<td class="nump">3,951<span></span>
</td>
<td class="nump">3,951<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Building [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and equipment, gross</a></td>
<td class="nump">23,280<span></span>
</td>
<td class="nump">23,439<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember', window );">Building Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and equipment, gross</a></td>
<td class="nump">28,049<span></span>
</td>
<td class="nump">25,741<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and equipment, gross</a></td>
<td class="nump">5,237<span></span>
</td>
<td class="nump">4,999<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cgnx_HardwareAndSoftwareMember', window );">Hardware And Software [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and equipment, gross</a></td>
<td class="nump">39,409<span></span>
</td>
<td class="nump">35,350<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and equipment, gross</a></td>
<td class="nump">18,726<span></span>
</td>
<td class="nump">16,201<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and Fixtures [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, Plant and Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and equipment, gross</a></td>
<td class="nump">$ 4,843<span></span>
</td>
<td class="nump">$ 4,401<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.14)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.13)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=cgnx_HardwareAndSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=cgnx_HardwareAndSoftwareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6813328752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property, Plant and Equipment - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisposals', window );">Disposals in period</a></td>
<td class="nump">$ 3,191,000<span></span>
</td>
<td class="nump">$ 2,285,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross', window );">Buildings include rental property</a></td>
<td class="nump">5,750,000<span></span>
</td>
<td class="nump">5,750,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation', window );">Accumulated depreciation</a></td>
<td class="nump">$ 2,922,000<span></span>
</td>
<td class="nump">$ 2,775,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisposals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of divestiture of long-lived, physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisposals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of accumulated depreciation, by major property class, recorded on property subject to or available for lease as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6454179&amp;loc=d3e41551-112718<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6453916&amp;loc=d3e41460-112716<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertySubjectToOrAvailableForOperatingLeaseAccumulatedDepreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of physical assets used in the normal conduct of business to produce goods and services subject to or available for lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6453916&amp;loc=d3e41457-112716<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6454179&amp;loc=d3e41551-112718<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertySubjectToOrAvailableForOperatingLeaseGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6833337920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill - Changes in the Carrying Value of Goodwill (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Beginning Balance</a></td>
<td class="nump">$ 81,448<span></span>
</td>
<td class="nump">$ 77,388<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill, Ending Balance</a></td>
<td class="nump">95,280<span></span>
</td>
<td class="nump">81,448<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member', window );">Manatee Works, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired during the period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,060<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_AQSenseS.L.Member', window );">AQSense, S.L. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired during the period</a></td>
<td class="nump">1,383<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember', window );">EnShape GmbH [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired during the period</a></td>
<td class="nump">8,613<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember', window );">Chiaro Technologies LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired during the period</a></td>
<td class="nump">2,911<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_WebscanInc.Member', window );">Webscan, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillRollForward', window );"><strong>Goodwill [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAcquiredDuringPeriod', window );">Goodwill acquired during the period</a></td>
<td class="nump">$ 925<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=64834752&amp;loc=SL49117168-202975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAcquiredDuringPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAcquiredDuringPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_AQSenseS.L.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_AQSenseS.L.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_WebscanInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_WebscanInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6833437024">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill - Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Jul. 06, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
<th class="th"><div>Oct. 04, 2010</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 95,280,000<span></span>
</td>
<td class="nump">$ 81,448,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 77,388,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=cgnx_SisdMember', window );">Sisd [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,301,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=cgnx_MvsdMember', window );">MVSD [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillLineItems', window );"><strong>Goodwill [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_FairValueInExcessToCarryingValue', window );">Fair value in excess to carrying value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">208.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_FairValueInExcessToCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value in excess to carrying value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_FairValueInExcessToCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=64834752&amp;loc=SL49117168-202975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cgnx_SisdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cgnx_SisdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cgnx_MvsdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cgnx_MvsdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841373728">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets - Amortized Intangible Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 52,668<span></span>
</td>
<td class="nump">$ 47,280<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">44,356<span></span>
</td>
<td class="nump">40,965<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">8,312<span></span>
</td>
<td class="nump">6,315<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember', window );">Distribution networks</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">38,060<span></span>
</td>
<td class="nump">38,060<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">37,422<span></span>
</td>
<td class="nump">35,051<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">638<span></span>
</td>
<td class="nump">3,009<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">6,605<span></span>
</td>
<td class="nump">4,880<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">4,836<span></span>
</td>
<td class="nump">4,749<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">1,769<span></span>
</td>
<td class="nump">131<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Completed technologies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Finite-Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">8,003<span></span>
</td>
<td class="nump">4,340<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">2,098<span></span>
</td>
<td class="nump">1,165<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 5,905<span></span>
</td>
<td class="nump">$ 3,175<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DistributionRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=cgnx_CustomerContractsAndRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6832007584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets - Estimated Amortization Expense Succeeding Fiscal Years (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2016</a></td>
<td class="nump">$ 2,311<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2017</a></td>
<td class="nump">1,770<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2018</a></td>
<td class="nump">1,395<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2019</a></td>
<td class="nump">971<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2020</a></td>
<td class="nump">794<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">1,071<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 8,312<span></span>
</td>
<td class="nump">$ 6,315<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6783336784">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Expenses - Constituents of Accrued Expenses (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrentAbstract', window );"><strong>Constituents of accrued expenses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedBonusesCurrent', window );">Company bonuses</a></td>
<td class="nump">$ 11,462<span></span>
</td>
<td class="nump">$ 4,895<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedSalariesCurrent', window );">Salaries, commissions, and payroll taxes</a></td>
<td class="nump">7,193<span></span>
</td>
<td class="nump">4,859<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedVacationCurrent', window );">Vacation</a></td>
<td class="nump">4,860<span></span>
</td>
<td class="nump">4,482<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualClassifiedCurrent', window );">Warranty obligations</a></td>
<td class="nump">4,335<span></span>
</td>
<td class="nump">4,174<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_RetirementAllowance', window );">Foreign retirement obligations</a></td>
<td class="nump">3,388<span></span>
</td>
<td class="nump">3,249<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">11,301<span></span>
</td>
<td class="nump">11,613<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">$ 42,539<span></span>
</td>
<td class="nump">$ 33,272<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_RetirementAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Retirement allowance Japan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_RetirementAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedBonusesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Current Liabilities<br> -URI http://asc.fasb.org/extlink&amp;oid=6509677<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6911-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedBonusesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedSalariesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6911-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6935-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Current Liabilities<br> -URI http://asc.fasb.org/extlink&amp;oid=6509677<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedSalariesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedVacationCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 710<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6409733&amp;loc=d3e19396-108361<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6911-107765<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedVacationCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e7018-107765<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Current Liabilities<br> -URI http://asc.fasb.org/extlink&amp;oid=6509677<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6911-107765<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=28358313&amp;loc=d3e6935-107765<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualClassifiedCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 25<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=68070138&amp;loc=d3e11281-110244<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12524-110249<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualClassifiedCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836945536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Expenses - Changes in Warranty Obligations (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward', window );"><strong>Movement in Standard Product Warranty Accrual [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Beginning Balance</a></td>
<td class="nump">$ 4,174<span></span>
</td>
<td class="nump">$ 4,086<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued', window );">Provisions for warranties issued during the period</a></td>
<td class="nump">3,001<span></span>
</td>
<td class="nump">4,383<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Fulfillment of warranty obligations</a></td>
<td class="num">(2,689)<span></span>
</td>
<td class="num">(3,873)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss', window );">Foreign exchange rate changes</a></td>
<td class="num">(151)<span></span>
</td>
<td class="num">(422)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Ending Balance</a></td>
<td class="nump">$ 4,335<span></span>
</td>
<td class="nump">$ 4,174<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInStandardProductWarrantyAccrualRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInStandardProductWarrantyAccrualRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard and extended product warranty accrual from warranties issued.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph ((c)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualWarrantiesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=68068213&amp;loc=d3e12565-110249<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841582768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Oct. 02, 2016</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted', window );">Purchase order outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,352,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesRentExpenseNet', window );">Total annual rental expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,090,000<span></span>
</td>
<td class="nump">$ 5,778,000<span></span>
</td>
<td class="nump">$ 5,560,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue', window );">Total annual rental income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,911,000<span></span>
</td>
<td class="nump">$ 1,921,000<span></span>
</td>
<td class="nump">$ 1,794,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LegalSettlementTotal', window );">Legal Settlement Total</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LegalSettlementAsset', window );">Legal Settlement Asset</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,667,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Lifeofpatentyears', window );">Life of patent, years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LegalSettlementExpense', window );">Legal Settlement Expense</a></td>
<td class="nump">$ 1,833,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LegalSettlementAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>legalsettlementasset</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LegalSettlementAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LegalSettlementExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>legalsettlementexpense</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LegalSettlementExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LegalSettlementTotal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total settlement of Microscan litigation</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LegalSettlementTotal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Lifeofpatentyears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Life of patent, years</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Lifeofpatentyears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesIncomeStatementLeaseRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total amount of revenue recognized for the period from operating leases, including minimum lease revenue, contingent revenue, percentage revenue and sublease revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=7501430&amp;loc=d3e39896-112707<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesIncomeStatementLeaseRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesRentExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Rental expense for the reporting period incurred under operating leases, including minimum and any contingent rent expense, net of related sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6453985&amp;loc=d3e41499-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesRentExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6837047376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies - Future Minimum Rental Payments Under Lease Agreements (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract', window );"><strong>Future minimum rental payments under lease agreements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent', window );">2016</a></td>
<td class="nump">$ 5,054<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears', window );">2017</a></td>
<td class="nump">3,303<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears', window );">2018</a></td>
<td class="nump">2,164<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears', window );">2019</a></td>
<td class="nump">1,853<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears', window );">2020</a></td>
<td class="nump">1,735<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter', window );">Thereafter</a></td>
<td class="nump">1,498<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDue', window );">Total</a></td>
<td class="nump">$ 15,607<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for leases having an initial or remaining non-cancelable letter-terms in excess of one year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=6584154&amp;loc=d3e38371-112697<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6453985&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=6584154&amp;loc=d3e38371-112697<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6453985&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6453985&amp;loc=d3e41502-112717<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=6584154&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFiveYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6453985&amp;loc=d3e41502-112717<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=6584154&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6453985&amp;loc=d3e41502-112717<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=6584154&amp;loc=d3e38371-112697<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=6584154&amp;loc=d3e38371-112697<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6453985&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -URI http://asc.fasb.org/extlink&amp;oid=6584154&amp;loc=d3e38371-112697<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6453985&amp;loc=d3e41502-112717<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsDueThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822543584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies - Future Minimum Rental Receipts Under Non - Cancelable Lease Agreements (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract', window );"><strong>Future minimum rental receipts under non-cancelable lease agreements</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent', window );">2016</a></td>
<td class="nump">$ 812<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears', window );">2017</a></td>
<td class="nump">530<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears', window );">2018</a></td>
<td class="nump">543<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears', window );">2019</a></td>
<td class="nump">557<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears', window );">2020</a></td>
<td class="nump">187<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter', window );">Thereafter</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable', window );">Total</a></td>
<td class="nump">$ 2,629<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future minimum rental payments in aggregate as of the balance sheet date under operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6454179&amp;loc=d3e41551-112718<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future rental payments receivable within one year of the balance sheet date under an operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6454179&amp;loc=d3e41551-112718<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future rental payments receivable within the fifth year from the balance sheet date under an operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6454179&amp;loc=d3e41551-112718<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future rental payments receivable within the fourth year from the balance sheet date under an operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6454179&amp;loc=d3e41551-112718<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future rental payments receivable within the third year from the balance sheet date under an operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6454179&amp;loc=d3e41551-112718<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future rental payments receivable within the second year from the balance sheet date under an operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6454179&amp;loc=d3e41551-112718<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Future minimum lease payments receivable under operating leases for periods greater than five years following the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6454179&amp;loc=d3e41551-112718<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesFutureMinimumPaymentsReceivableThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6718423648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Indemnification Provisions - Narrative (Details) - Discontinued Operations, Disposed of by Sale [Member] - Sisd [Member] - AMETEK Matter [Member] - Settled Litigation [Member] - Guarantee Obligations [Member]<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Oct. 02, 2016 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>Loss Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue', window );">Loss contingency, damages awarded, refund of product purchase price, value</a></td>
<td class="nump">$ 326,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue', window );">Loss contingency, damages awarded, reimbursement of legal fees, value</a></td>
<td class="nump">45,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LitigationSettlementAmount', window );">Litigation settlement, amount</a></td>
<td class="num">$ (281,000)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Loss Contingency, Damages Awarded, Refund Of Product Purchase Price, Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Loss Contingency, Damages Awarded, Reimbursement Of Legal Fees, Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationSettlementAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of judgment or settlement awarded to (against) the entity in respect of litigation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationSettlementAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationCaseAxis=cgnx_AMETEKMatterMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationCaseAxis=cgnx_AMETEKMatterMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationStatusAxis=us-gaap_SettledLitigationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationStatusAxis=us-gaap_SettledLitigationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_GuaranteeObligationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_GuaranteeObligationsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6657215472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments Derivative Instruments - Additional Details (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths', window );">Net gains expected to be reclassified from accumulated other comprehensive income (loss)</a></td>
<td class="nump">$ 37,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1', window );">Maturities of forward of contracts</a></td>
<td class="text">45 days<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1', window );">Maturities of foreign currency forward contracts</a></td>
<td class="text">18 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated net amount of existing gains or losses on cash flow hedges at the reporting date expected to be reclassified to earnings within the next 12 months.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=35736893&amp;loc=d3e80748-113994<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowHedgeGainLossToBeReclassifiedWithinTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum length of time over which the entity is hedging its exposure to the variability in future cash flows for forecasted transactions, excluding those forecasted transactions related to the payment of variable interest on existing financial instruments, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=35736893&amp;loc=d3e80748-113994<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum amount of time remaining before foreign currency exchange rate derivatives mature or expire, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6850279376">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Outstanding Forward Contracts (Details)<br> &#8361; in Thousands, &#165; in Thousands, &#163; in Thousands, TWD in Thousands, SGD in Thousands, HUF in Thousands, CAD in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>HUF</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>CAD</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>SGD</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>TWD</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>HUF</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>CAD</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>SGD</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>TWD</div>
</th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member] | United States of America, Dollars</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,720<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member] | Japan, Yen</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">2,960<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 342,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,605<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 942,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member] | Hungary, Forint</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">130<span></span>
</td>
<td class="nump">HUF 39,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,893<span></span>
</td>
<td class="nump">HUF 547,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member] | Singapore, Dollars</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">97<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">SGD 150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,425<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">SGD 2,063<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member] | Canada, Dollars</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">CAD 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">CAD 41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member] | United Kingdom, Pounds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member] | Japan, Yen</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">5,554<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 650,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member] | Korea (South), Won</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">1,450<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8361; 1,750,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,187<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8361; 1,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member] | Hungary, Forint</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">1,448<span></span>
</td>
<td class="nump">HUF 425,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">857<span></span>
</td>
<td class="nump">HUF 250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member] | Singapore, Dollars</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">929<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">SGD 1,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,074<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">SGD 1,525<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member] | United Kingdom, Pounds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">1,658<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 1,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,441<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 1,650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member] | Taiwan, New Dollars</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Derivative Asset, Notional Amount</a></td>
<td class="nump">$ 802<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">TWD 26,000<span></span>
</td>
<td class="nump">$ 800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">TWD 26,425<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssetNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payments on the derivative asset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5579245-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Notional Amount<br> -URI http://asc.fasb.org/extlink&amp;oid=6519104<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5580258-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_USD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_USD</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_JPY">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_JPY</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_HUF">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_HUF</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_SGD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_SGD</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_CAD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_CAD</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_GBP">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_GBP</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_KRW">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_KRW</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrencyAxis=currency_TWD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrencyAxis=currency_TWD</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6833675424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Balance Sheet Location (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Net amount of assets presented</a></td>
<td class="nump">$ 44<span></span>
</td>
<td class="nump">$ 450<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Net amount of liabilities presented</a></td>
<td class="nump">11<span></span>
</td>
<td class="nump">244<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member] | Prepaid Expenses and Other Current Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Net amount of assets presented</a></td>
<td class="nump">43<span></span>
</td>
<td class="nump">441<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument [Member] | Accrued Expenses [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Net amount of liabilities presented</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">201<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member] | Prepaid Expenses and Other Current Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Net amount of assets presented</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">9<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Not Designated as Hedging Instrument [Member] | Accrued Expenses [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Net amount of liabilities presented</a></td>
<td class="nump">$ 11<span></span>
</td>
<td class="nump">$ 43<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13495-108611<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=51825145&amp;loc=SL20226008-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=51825145&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13495-108611<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13433-108611<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=cgnx_AccruedExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=cgnx_AccruedExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836897584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments Derivative Instruments - Assets and liabilities presented on a net basis due to the right of offset (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivative Instruments and Hedging Activities Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeAsset', window );">Derivative Asset, Fair Value, Gross Asset</a></td>
<td class="nump">$ 117<span></span>
</td>
<td class="nump">$ 479<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset', window );">Derivative Asset gross amount offset</a></td>
<td class="num">(73)<span></span>
</td>
<td class="num">(29)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssets', window );">Net amount of assets presented</a></td>
<td class="nump">44<span></span>
</td>
<td class="nump">450<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeFairValueOfDerivativeLiability', window );">Derivative Liability, Fair Value, Gross Liability</a></td>
<td class="nump">11<span></span>
</td>
<td class="nump">279<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset', window );">Derivative liability gross amount offset</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(35)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLiabilities', window );">Net amount of liabilities presented</a></td>
<td class="nump">$ 11<span></span>
</td>
<td class="nump">$ 244<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to return cash collateral under master netting arrangements offset against derivative assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13495-108611<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=51825145&amp;loc=SL20226008-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (a),(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624163-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=51825145&amp;loc=SL20226000-175313<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 860<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64830801&amp;loc=SL51823488-111719<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, before effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities elected not to be offset. Excludes liabilities not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 860<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64830801&amp;loc=SL51823488-111719<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (a),(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624163-113959<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=51825145&amp;loc=SL20226000-175313<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeFairValueOfDerivativeLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 55<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=51825145&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13495-108611<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13433-108611<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of right to receive cash collateral under master netting arrangements offset against derivative liabilities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=51824906&amp;loc=SL20225862-175312<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41228-113958<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6834312000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments - Gain (Loss) Recognized in Other Comprehensive Income (Loss) (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into net income</a></td>
<td class="num">$ (398,000)<span></span>
</td>
<td class="num">$ (201,000)<span></span>
</td>
<td class="num">$ (46,000)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CashFlowHedgingMember', window );">Accumulated other comprehensive income (loss), net of tax | Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet', window );">Gains (losses) recorded in shareholders' equity (effective portion)</a></td>
<td class="nump">37,000<span></span>
</td>
<td class="nump">206,000<span></span>
</td>
<td class="nump">32,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into net income</a></td>
<td class="num">(398,000)<span></span>
</td>
<td class="num">(201,000)<span></span>
</td>
<td class="num">(46)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SalesRevenueGoodsNetMember', window );">Product Revenue | Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet', window );">Gains (losses) reclassified from accumulated other comprehensive income (loss) into net income (effective portion)</a></td>
<td class="num">(438,000)<span></span>
</td>
<td class="num">(387,000)<span></span>
</td>
<td class="num">(14)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research, development, and engineering expenses | Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet', window );">Gains (losses) reclassified from accumulated other comprehensive income (loss) into net income (effective portion)</a></td>
<td class="nump">13,000<span></span>
</td>
<td class="nump">14,000<span></span>
</td>
<td class="num">(42)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">Selling, general and administrative expenses | Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossLineItems', window );"><strong>Derivative Instruments, Gain (Loss) [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet', window );">Gains (losses) reclassified from accumulated other comprehensive income (loss) into net income (effective portion)</a></td>
<td class="nump">27,000<span></span>
</td>
<td class="nump">172,000<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ForeignCurrencyGainLossMember', window );">Foreign currency gain (loss) | Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeGainLossOnDerivativeNetAbstract', window );"><strong>Derivative, Gain (Loss) on Derivative, Net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet', window );">Gains (losses) recognized in net income on derivatives (ineffective portion and discontinued derivatives)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ForeignCurrencyGainLossMember', window );">Foreign currency gain (loss) | Not Designated as Hedging Instrument [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeGainLossOnDerivativeNetAbstract', window );"><strong>Derivative, Gain (Loss) on Derivative, Net [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeGainLossOnDerivativeNet', window );">Gains (losses) recognized in net income</a></td>
<td class="num">$ (515,000)<span></span>
</td>
<td class="num">$ (13,000)<span></span>
</td>
<td class="nump">$ 247,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeGainLossOnDerivativeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5618551-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (a),(c),(d),(e)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeGainLossOnDerivativeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeGainLossOnDerivativeNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeGainLossOnDerivativeNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The effective portion of net gain (loss) reclassified from accumulated other comprehensive income into income on derivative instruments designated and qualifying as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624177-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of gains and losses (net) on derivative instruments designated and qualifying as hedging instruments representing (a) the amount of the hedge ineffectiveness and (b) the amount, if any, excluded from the assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 25<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1),(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6886632&amp;loc=d3e76258-113986<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The effective portion of gains and losses (net) on derivative instruments designated and qualifying as hedging instruments that was recognized in other comprehensive income during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=SL5624171-113959<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income of accumulated gain (loss) realized from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's deferred hedging gain (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e689-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph c<br> -URI http://asc.fasb.org/extlink&amp;oid=64837297&amp;loc=d3e41638-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CashFlowHedgingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CashFlowHedgingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SalesRevenueGoodsNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SalesRevenueGoodsNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ForeignCurrencyGainLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ForeignCurrencyGainLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6831333232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments - Changes in AOCI (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>Accumulated Other Comprehensive Income (Loss), Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Beginning balance</a></td>
<td class="num">$ (52,124)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Ending balance</a></td>
<td class="num">(56,428)<span></span>
</td>
<td class="num">$ (52,124)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember', window );">Accumulated Net Gain (Loss) from Designated or Qualifying Cash Flow Hedges [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward', window );"><strong>Accumulated Other Comprehensive Income (Loss), Net of Tax [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Beginning balance</a></td>
<td class="nump">206<span></span>
</td>
<td class="nump">32<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Net unrealized loss on cash flow hedges</a></td>
<td class="num">(567)<span></span>
</td>
<td class="num">(27)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Reclassification of net realized loss on cash flow hedges into current operations</a></td>
<td class="nump">398<span></span>
</td>
<td class="nump">201<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Ending balance</a></td>
<td class="nump">$ 37<span></span>
</td>
<td class="nump">$ 206<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AOCIAttributableToParentNetOfTaxRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AOCIAttributableToParentNetOfTaxRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e637-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=d3e681-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669686-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669619-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669625-108580<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=66004921&amp;loc=d3e1436-108581<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=66004124&amp;loc=SL7669686-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 55<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=66004921&amp;loc=d3e1436-108581<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedNetGainLossFromDesignatedOrQualifyingCashFlowHedgesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6850608192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Shareholders' Equity - Additional Information (Detail)<br></strong></div></th>
<th class="th" colspan="7">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($) </div>
<div>Vote </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Oct. 02, 2016 </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Jul. 03, 2016 </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Apr. 03, 2016 </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Oct. 04, 2015 </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Jul. 05, 2015 </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($) </div>
<div>Vote </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2014 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 28, 2016 </div>
<div>shares</div>
</th>
<th class="th">
<div>Apr. 27, 2016 </div>
<div>shares</div>
</th>
<th class="th">
<div>Nov. 01, 2015 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 03, 2015 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 05, 2008 </div>
<div>Right</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Authorized shares | shares</a></td>
<td class="nump">400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock Par value (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized | shares</a></td>
<td class="nump">200,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">140,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,000,000<span></span>
</td>
<td class="nump">140,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,000,000<span></span>
</td>
<td class="nump">140,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_VoteEntitledForEachCommonShareOutstanding', window );">Vote entitled for each common share outstanding | Vote</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution', window );">Number of preferred stock purchase right for dividend distribution | Right</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson', window );">Outstanding common share to be acquiring person</a></td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Stock Repurchased During Period, Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 47,149,000<span></span>
</td>
<td class="nump">$ 126,351,000<span></span>
</td>
<td class="nump">$ 59,673,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Cash dividend declared per common share | $ / shares</a></td>
<td class="nump">$ 0.075<span></span>
</td>
<td class="nump">$ 0.075<span></span>
</td>
<td class="nump">$ 0.075<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsOfDividends', window );">Payments of Dividends</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,213,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgram2014Member', window );">Repurchase Program 2014 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Totalsharesrepurchased', window );">total shares repurchased | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,666,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Stock Repurchased During Period, Shares | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">355,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Stock Repurchased During Period, Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,064,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramTwentyFifteenMember', window );">Repurchase Program 2015 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Repurchase of authorized common stock</a></td>
<td class="nump">$ 68,915,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 68,915,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Stock Repurchased During Period, Shares | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">539,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Stock Repurchased During Period, Value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 31,085,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramNovember2015Member', window );">Repurchase Program November 2015 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Repurchase of authorized common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember', window );">Common Stock [Member] | Repurchase Program 2014 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Repurchasedsharestotalcost', window );">Repurchased shares, total cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Common shares to be owned to become acquiring person.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CommonSharesToBeOwnedToBecomeAcquiringPerson</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of preferred stock purchase right for dividend distribution.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_NumberOfPreferredStockPurchaseRightForDividendDistribution</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Repurchasedsharestotalcost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Repurchased shares, total cost</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Repurchasedsharestotalcost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Totalsharesrepurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>total shares repurchased</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Totalsharesrepurchased</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_VoteEntitledForEachCommonShareOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Vote entitled for each common share outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_VoteEntitledForEachCommonShareOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Financing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6513228<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgram2014Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgram2014Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramTwentyFifteenMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramTwentyFifteenMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramNovember2015Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramNovember2015Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementClassOfStockAxis=us-gaap_CommonStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6833322896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Additional Information (Detail)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jul. 06, 2015 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($) </div>
<div>Employees </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2015 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2014 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_NumberOfGroupsWithinEmployeePopulation', window );">Number of groups within the employee population | Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest', window );">Percentage of stock options granted to all other employees expected to vest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">72.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest', window );">Percentage of stock options granted to senior management expected to vest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement', window );">Estimated forfeiture rate for unvested options for senior management</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement', window );">Estimated forfeiture rate for unvested options for all non-senior management</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates', window );">Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 334,000<span></span>
</td>
<td class="nump">$ 461,000<span></span>
</td>
<td class="nump">$ 288,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant-date fair values of stock options granted | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12.65<span></span>
</td>
<td class="nump">$ 14.35<span></span>
</td>
<td class="nump">$ 15.97<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue', window );">Total intrinsic values of stock options exercised</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 55,580,000<span></span>
</td>
<td class="nump">$ 43,987,000<span></span>
</td>
<td class="nump">$ 31,884,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue', window );">Total fair values of stock options vested</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18,114,000<span></span>
</td>
<td class="nump">16,227,000<span></span>
</td>
<td class="nump">11,627,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions', window );">Total unrecognized compensation expense related to non-vested stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 19,742,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 6 months 7 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,558,000<span></span>
</td>
<td class="nump">21,274,000<span></span>
</td>
<td class="nump">15,158,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Income tax benefit recognized related to stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,747,000<span></span>
</td>
<td class="nump">7,127,000<span></span>
</td>
<td class="nump">4,977,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount', window );">Compensation expense capitalized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Shares available for grant under stock option plans | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,078,751<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Vesting period for stock option plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ExpirationPeriodOfStockOptionPlan', window );">Expiration period of stock option plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember', window );">Discontinued Operations, Disposed of by Sale [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 1,106,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number | shares</a></td>
<td class="nump">190,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Employee service share based compensation recognized period costs capitalized amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated forfeiture rate for unvested options for all non-senior management.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Estimated forfeiture rate for unvested options for senior management.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ExpirationPeriodOfStockOptionPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expiration period of stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ExpirationPeriodOfStockOptionPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (decrease) in compensation expense due to revised estimated forfeiture rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_NumberOfGroupsWithinEmployeePopulation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of groups within employee population.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_NumberOfGroupsWithinEmployeePopulation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of stock options granted to all other employees expected to vest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_PercentageOfStockOptionsGrantedToAllOtherEmployeesExpectedToVest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of stock options granted to senior management expected to vest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_PercentageOfStockOptionsGrantedToSeniorManagementExpectedToVest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options vested fair value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average period over which unrecognized compensation is expected to be recognized for equity-based compensation plans, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested options awarded to employees as compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total recognized tax benefit related to compensation cost for equity-based payment arrangements recognized in income during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period which an employee's right to exercise an award is no longer contingent on satisfaction of either a service condition, market condition or a performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>As of the balance sheet date, the number of shares into which fully vested and expected to vest stock options outstanding can be converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6834578736">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, Shares | shares</a></td>
<td class="nump">6,644<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Granted | shares</a></td>
<td class="nump">1,930<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised | shares</a></td>
<td class="num">(1,977)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Forfeited or expired | shares</a></td>
<td class="num">(164)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, Shares | shares</a></td>
<td class="nump">6,433<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable, Shares | shares</a></td>
<td class="nump">2,037<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber', window );">Options vested or expected to vest | shares</a></td>
<td class="nump">5,837<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, Weighted-Average Exercise Price | $ / shares</a></td>
<td class="nump">$ 28.27<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted, Weighted-Average Exercise Price | $ / shares</a></td>
<td class="nump">35.58<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Exercised, Weighted-Average Exercise Price | $ / shares</a></td>
<td class="nump">21.99<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Forfeited or expired, Weighted-Average Exercise Price | $ / shares</a></td>
<td class="nump">37.45<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, Weighted-Average Exercise Price | $ / shares</a></td>
<td class="nump">32.16<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable, Weighted-Average Exercise Price | $ / shares</a></td>
<td class="nump">22.21<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Options vested or expected to vest, Weighted-Average Exercise Price | $ / shares</a></td>
<td class="nump">$ 31.52<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Outstanding, Weighted-Average Remaining Contractual Term (in years)</a></td>
<td class="text">7 years 4 months 24 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Exercisable, Weighted-Average Remaining Contractual Term (in years)</a></td>
<td class="text">5 years 3 months 18 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Options vested or expected to vest, Weighted-Average Remaining Contractual Term (in years)</a></td>
<td class="text">7 years 2 months 12 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Outstanding, Aggregate Intrinsic Value | $</a></td>
<td class="nump">$ 202,368<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue', window );">Exercisable, Aggregate Intrinsic Value | $</a></td>
<td class="nump">84,359<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Options vested or expected to vest, Aggregate Intrinsic Value | $</a></td>
<td class="nump">$ 187,350<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of exercisable share options (fully vested and expected to vest) that may be converted as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of fully vested and expected to vest options outstanding.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>As of the balance sheet date, the weighted-average exercise price for outstanding stock options that are fully vested or expected to vest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6928386&amp;loc=d3e21463-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6813750144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail) - Employee Stock Option [Member]<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free rate</a></td>
<td class="nump">1.70%<span></span>
</td>
<td class="nump">2.10%<span></span>
</td>
<td class="nump">2.60%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield</a></td>
<td class="nump">0.83%<span></span>
</td>
<td class="nump">1.25%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility</a></td>
<td class="nump">41.00%<span></span>
</td>
<td class="nump">40.00%<span></span>
</td>
<td class="nump">41.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (in years)</a></td>
<td class="text">5 years 7 months 6 days<span></span>
</td>
<td class="text">5 years 5 months 6 days<span></span>
</td>
<td class="text">5 years 4 months 24 days<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Expected term of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6841147888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Stock-Based Compensation Expense- Summary of Restricted Stock Option Activity (Detail) (Details) - Restricted Stock [Member] - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems', window );"><strong>Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Options, Shares Nonvested</a></td>
<td class="nump">20<span></span>
</td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Options, Nonvested, Weighted-Average Exercise Price, in dollars per share</a></td>
<td class="nump">$ 34.05<span></span>
</td>
<td class="nump">$ 34.05<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested', window );">Nonvested as of December 31, 2014, Aggregate Intrinsic Value</a></td>
<td class="nump">$ 1,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value of nonvested awards on equity-based plans excluding option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, revenue or profit achievement stock award plan) for which the employer is contingently obligated to issue equity instruments or transfer assets to an employee who has not yet satisfied service or performance criteria necessary to gain title to proceeds from the sale of the award or underlying shares or units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of equity-based compensation awards not vested. Excludes stock and unit options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6834556640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Stock-Based Compensation Expense (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</a></td>
<td class="text">1 year 6 months 7 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 20,558,000<span></span>
</td>
<td class="nump">$ 21,274,000<span></span>
</td>
<td class="nump">$ 15,158,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Stockbasedcompensationdiscontinuedoperation', window );">Stock-based compensation expense</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,533,000<span></span>
</td>
<td class="nump">1,099,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Income tax benefit recognized related to stock-based compensation expense</a></td>
<td class="nump">6,747,000<span></span>
</td>
<td class="nump">7,127,000<span></span>
</td>
<td class="nump">4,977,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount', window );">Compensation expense capitalized</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=cgnx_ProductCostOfRevenueMember', window );">Product cost of revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">1,052,000<span></span>
</td>
<td class="nump">1,515,000<span></span>
</td>
<td class="nump">1,116,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research, development, and engineering expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">6,271,000<span></span>
</td>
<td class="nump">5,194,000<span></span>
</td>
<td class="nump">3,709,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=cgnx_SellingGeneralAndAdministrativeMember', window );">Selling, general, and administrative [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 13,235,000<span></span>
</td>
<td class="nump">$ 13,032,000<span></span>
</td>
<td class="nump">$ 9,234,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Employee service share based compensation recognized period costs capitalized amount.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Stockbasedcompensationdiscontinuedoperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>stock-basedcompensationdiscontinuedoperation</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Stockbasedcompensationdiscontinuedoperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average period over which unrecognized compensation is expected to be recognized for equity-based compensation plans, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The total recognized tax benefit related to compensation cost for equity-based payment arrangements recognized in income during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=cgnx_ProductCostOfRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=cgnx_ProductCostOfRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=cgnx_SellingGeneralAndAdministrativeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=cgnx_SellingGeneralAndAdministrativeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822458688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Employee Savings Plan - Additional Information (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Compensation and Retirement Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch', window );">Defined Contribution Plan, Employer Matching Contribution, Percent of Match</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan', window );">Minimum age to be eligible to defined contribution plan</a></td>
<td class="text">21 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent', window );">Maximum contribution by company expressed as percentage of employee pre-tax salary</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent', window );">Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay</a></td>
<td class="nump">6.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CompanyContributionsVestAtEndOfTwoYear', window );">Company contributions vest at end of two years</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CompanyContributionsVestAtEndOfThreeYears', window );">Company contributions vest at end of three years</a></td>
<td class="nump">40.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CompanyContributionsVestAtEndOfFourYears', window );">Company contributions vest at end of four years</a></td>
<td class="nump">60.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_CompanyContributionsVestAtEndOfFiveYears', window );">Company contributions vest at end of five years</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanCostRecognized', window );">Company contributions to employee savings plan</a></td>
<td class="nump">$ 1,712,000<span></span>
</td>
<td class="nump">$ 1,845,000<span></span>
</td>
<td class="nump">$ 1,555,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CompanyContributionsVestAtEndOfFiveYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Company contributions vest at end of five years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CompanyContributionsVestAtEndOfFiveYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CompanyContributionsVestAtEndOfFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Company contributions vest at end of four years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CompanyContributionsVestAtEndOfFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CompanyContributionsVestAtEndOfThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Company contributions vest at end of three years.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CompanyContributionsVestAtEndOfThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CompanyContributionsVestAtEndOfTwoYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Company contributions vest at end of two year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CompanyContributionsVestAtEndOfTwoYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum age to be eligible to defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_MinimumAgeToBeEligibleToDefinedContributionPlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanCostRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of the cost recognized during the period for defined contribution plans.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=49170846&amp;loc=d3e28014-114942<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanCostRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage employer matches of the employee's percentage contribution matched.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6850734784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 06, 2015</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardLineItems', window );"><strong>Tax Credit Carryforward [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Domestic income from continuing operations before taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 23,939,000<span></span>
</td>
<td class="nump">$ 11,637,000<span></span>
</td>
<td class="nump">$ 25,585,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign income from continuing operations before taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 144,856,000<span></span>
</td>
<td class="nump">$ 115,325,000<span></span>
</td>
<td class="nump">$ 106,171,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign tax rate differential</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries', window );">Undistributed earnings of foreign subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 498,238,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries', window );">Deferred tax liability not recognized, on undistributed earnings of foreign subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">151,966,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount', window );">Reduction of income tax expense for adoption of ASU 2016-09</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 11,889,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent', window );">Discrete tax benefit related to employee stock option exercises</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 182,081,000<span></span>
</td>
<td class="nump">$ 128,327,000<span></span>
</td>
<td class="nump">$ 163,841,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29,231,000<span></span>
</td>
<td class="nump">116,831,000<span></span>
</td>
<td class="nump">42,743,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense', window );">Income tax penalties and interest expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">92,000<span></span>
</td>
<td class="nump">34,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent', window );">Deferred tax liabilities, gross</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,389,000<span></span>
</td>
<td class="nump">5,858,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Reserve for income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,361,000<span></span>
</td>
<td class="nump">4,830,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets', window );">Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,028,000<span></span>
</td>
<td class="nump">1,028,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Interest and penalties, gross</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">670,000<span></span>
</td>
<td class="nump">562,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves', window );">Minimum decrease in income tax expense due to release in reserves</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">950,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves', window );">Maximum decrease in income tax expense due to release in reserves</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,050,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGrossCurrent', window );">Net non-current deferred tax liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(319,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Non deductible federal and state liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">379,000<span></span>
</td>
<td class="nump">1,198,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income tax paid net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,748,000<span></span>
</td>
<td class="nump">$ 58,280,000<span></span>
</td>
<td class="nump">17,549,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_OpenTaxYearStateAuthorities', window );">Open Tax Year State Authorities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2013 through 2016<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_OpentaxyearUnitedStatesInternalRevenueService', window );">Open tax year United States Internal Revenue Service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2013 through 2016<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Opentaxyearvarioustaxingauthorities', window );">Open tax year, various taxing authorities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2012 through 2016<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement', window );">Tax Years Covered Through Advanced Pricing Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2006 through 2011<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_TaxyearsforAPAagreement', window );">Tax years for APA agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Between 2014 and 2018<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Stateresearchandexperimentationtaxcarryforwards', window );">State research and experimentation tax carryforwards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2014 through 2016<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAxis=us-gaap_ResearchMember', window );">Research Tax Credit Carryforward [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardLineItems', window );"><strong>Tax Credit Carryforward [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Deferred tax assets, valuation allowance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 857,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardAxis=cgnx_StateResearchAndExperimentationMember', window );">State Research And Experimentation [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardLineItems', window );"><strong>Tax Credit Carryforward [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Deferred tax assets, tax credit carryforwards, research</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,181,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember', window );">Sisd [Member] | Discontinued Operations, Disposed of by Sale [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardLineItems', window );"><strong>Tax Credit Carryforward [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax', window );">Gain (loss) on sale of discontinued business</a></td>
<td class="nump">$ 125,357,000<span></span>
</td>
<td class="num">(404,000)<span></span>
</td>
<td class="nump">$ 125,357,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation', window );">Income tax expense (benefit) on discontinued operations</a></td>
<td class="nump">$ 47,175,000<span></span>
</td>
<td class="num">$ (149,000)<span></span>
</td>
<td class="nump">47,801,000<span></span>
</td>
<td class="nump">4,997,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_RevenueCommissionersIrelandMember', window );">Revenue Commissioners, Ireland [Member] | Foreign Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardLineItems', window );"><strong>Tax Credit Carryforward [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_StateAdministrationOfTaxationChinaMember', window );">State Administration of Taxation, China [Member] | Foreign Tax Authority [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardLineItems', window );"><strong>Tax Credit Carryforward [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementGeographicalAxis=us-gaap_NonUsMember', window );">Non-US [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardLineItems', window );"><strong>Tax Credit Carryforward [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsAndShortTermInvestments', window );">Cash, cash equivalents, and investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 437,691,000<span></span>
</td>
<td class="nump">352,621,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember', window );">Accounting Standards Update 2016-09, Statutory Tax Withholding Component [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardLineItems', window );"><strong>Tax Credit Carryforward [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,964,000<span></span>
</td>
<td class="nump">7,871,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,964,000<span></span>
</td>
<td class="nump">$ 7,871,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201517Member', window );">Accounting Standards Update 2015-17 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxCreditCarryforwardLineItems', window );"><strong>Tax Credit Carryforward [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetCurrent', window );">Deferred tax assets, current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,104,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGrossCurrent', window );">Net non-current deferred tax liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 319,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Amount</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum decrease in income tax expense due to release in reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Minimum decrease in income tax expense due to release in reserves.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_OpenTaxYearStateAuthorities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Open Tax Year State Authorities</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_OpenTaxYearStateAuthorities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_OpentaxyearUnitedStatesInternalRevenueService">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Open tax years open to examination within the United States by the Internal Revenue Service</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_OpentaxyearUnitedStatesInternalRevenueService</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Opentaxyearvarioustaxingauthorities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Open tax year, various taxing authorities</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Opentaxyearvarioustaxingauthorities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Stateresearchandexperimentationtaxcarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>State research and experimentation tax carryforwards</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Stateresearchandexperimentationtaxcarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tax years covered through Advanced Pricing Agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_TaxYearsCoveredThroughAdvancedPricingAgreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_TaxyearsforAPAagreement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tax years for APA agreement</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_TaxyearsforAPAagreement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>us-types:durationStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsAndShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash Equivalents<br> -URI http://asc.fasb.org/extlink&amp;oid=6507016<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Cash<br> -URI http://asc.fasb.org/extlink&amp;oid=6506951<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsAndShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31917-109318<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31931-109318<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31928-109318<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31958-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32621-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32632-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32559-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=68052875&amp;loc=d3e28680-109314<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31917-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGrossNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Gross amount of noncurrent deferred tax liabilities, which result from applying the applicable tax rate to taxable temporary differences pertaining to each jurisdiction to which the entity is obligated to pay income tax.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31917-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGrossNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability not recognized because of the exceptions to comprehensive recognition of deferred taxes related to undistributed earnings of foreign subsidiaries.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e957-107759<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) related to a discontinued operation. Includes, but is not limited to, tax expense (benefit) related to income (loss) from operations during the phase-out period, tax expense (benefit) related to gain (loss) on disposal, tax expense (benefit) related to gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and tax expense (benefit) related to adjustments of a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32672-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721523-107759<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65896914&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721675-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e1012-107759<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32698-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6367179&amp;loc=d3e4297-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for uncertainty in income taxes classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilityForUncertainTaxPositionsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3574-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6487024&amp;loc=d3e29054-158556<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 740<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6479915&amp;loc=d3e66715-112838<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 995<br> -SubTopic 740<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6503627&amp;loc=d3e59836-110443<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=68052875&amp;loc=d3e28200-109314<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6424122&amp;loc=d3e41874-109331<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32718-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAxis=us-gaap_ResearchMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAxis=us-gaap_ResearchMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxCreditCarryforwardAxis=cgnx_StateResearchAndExperimentationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxCreditCarryforwardAxis=cgnx_StateResearchAndExperimentationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_RevenueCommissionersIrelandMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_RevenueCommissionersIrelandMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_StateAdministrationOfTaxationChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=us-gaap_StateAdministrationOfTaxationChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementGeographicalAxis=us-gaap_NonUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=cgnx_AccountingStandardsUpdate201609StatutoryTaxWithholdingComponentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201517Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201517Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6831300640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes - Constituents of Provision for Income Taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">$ 14,459<span></span>
</td>
<td class="nump">$ 16,430<span></span>
</td>
<td class="nump">$ 18,852<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State</a></td>
<td class="num">(617)<span></span>
</td>
<td class="nump">378<span></span>
</td>
<td class="nump">608<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">8,149<span></span>
</td>
<td class="nump">4,946<span></span>
</td>
<td class="nump">4,854<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current income tax expense (benefit), Total</a></td>
<td class="nump">21,991<span></span>
</td>
<td class="nump">21,754<span></span>
</td>
<td class="nump">24,314<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="num">(3,031)<span></span>
</td>
<td class="num">(2,541)<span></span>
</td>
<td class="num">(2,569)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit', window );">State</a></td>
<td class="nump">1,066<span></span>
</td>
<td class="num">(165)<span></span>
</td>
<td class="nump">7<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="num">(1,058)<span></span>
</td>
<td class="nump">250<span></span>
</td>
<td class="num">(837)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax expense (benefit), Total</a></td>
<td class="num">(3,023)<span></span>
</td>
<td class="num">(2,456)<span></span>
</td>
<td class="num">(3,399)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit), continuing operations, Total</a></td>
<td class="nump">$ 18,968<span></span>
</td>
<td class="nump">$ 19,298<span></span>
</td>
<td class="nump">$ 20,915<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Current Tax Expense (or Benefit)<br> -URI http://asc.fasb.org/extlink&amp;oid=6509736<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentForeignTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Current Tax Expense (or Benefit)<br> -URI http://asc.fasb.org/extlink&amp;oid=6509736<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Current Tax Expense (or Benefit)<br> -URI http://asc.fasb.org/extlink&amp;oid=6509736<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Deferred Tax Expense (or Benefit)<br> -URI http://asc.fasb.org/extlink&amp;oid=63044130<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Deferred Tax Expense (or Benefit)<br> -URI http://asc.fasb.org/extlink&amp;oid=63044130<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredForeignIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Deferred Tax Expense (or Benefit)<br> -URI http://asc.fasb.org/extlink&amp;oid=63044130<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred state and local tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Deferred Tax Expense (or Benefit)<br> -URI http://asc.fasb.org/extlink&amp;oid=63044130<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a),(b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32639-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Income Tax Expense (or Benefit)<br> -URI http://asc.fasb.org/extlink&amp;oid=6515339<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6844453536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes - Reconciliation of the United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate or Income Tax Provision (Details)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax provision at federal statutory corporate tax rate</a></td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income taxes, net of federal benefit</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign tax rate differential</a></td>
<td class="num">(17.00%)<span></span>
</td>
<td class="num">(19.00%)<span></span>
</td>
<td class="num">(19.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Tax credit</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="nump">(0.00%)<span></span>
</td>
<td class="nump">(0.00%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent', window );">Discrete tax benefit related to employee stock option exercises</a></td>
<td class="num">(7.00%)<span></span>
</td>
<td class="nump">(0.00%)<span></span>
</td>
<td class="nump">(0.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Other discrete tax events</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(2.00%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax provision on continuing operations</a></td>
<td class="nump">11.00%<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="nump">16.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32698-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the income tax rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32698-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32698-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822449568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes - Changes in the Reserve for Income Taxes, Excluding Interest and Penalties (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance of reserve for income taxes</a></td>
<td class="nump">$ 5,296<span></span>
</td>
<td class="nump">$ 5,127<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Gross amounts of decreases in unrecognized tax benefits as a result of tax positions taken in prior periods</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(56)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease', window );">Unrecognized Tax Benefits, Period Increase (Decrease)</a></td>
<td class="nump">11<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions', window );">Gross amounts of increases in unrecognized tax benefits as a result of tax positions taken in the current period</a></td>
<td class="nump">1,235<span></span>
</td>
<td class="nump">1,291<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities', window );">Gross amounts of decreases in unrecognized tax benefits relating to settlements with taxing authorities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations', window );">Gross amounts of decreases in unrecognized tax benefits as a result of the expiration of the applicable statutes of limitations</a></td>
<td class="num">(823)<span></span>
</td>
<td class="num">(1,066)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance of reserve for income taxes</a></td>
<td class="nump">$ 5,719<span></span>
</td>
<td class="nump">$ 5,296<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=SL6600010-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Unrecognized Tax Benefit<br> -URI http://asc.fasb.org/extlink&amp;oid=6527854<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from settlements with taxing authorities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in unrecognized tax benefits attributable to uncertain tax positions taken in tax returns.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=SL6600010-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6835206640">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Taxes - Constituents of Deferred Tax Assets (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract', window );"><strong>Non-current deferred tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 15,365,000<span></span>
</td>
<td class="nump">$ 13,895,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost', window );">Federal and state tax credit carryforwards</a></td>
<td class="nump">5,154,000<span></span>
</td>
<td class="nump">5,091,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Inventory and revenue related</a></td>
<td class="nump">2,919,000<span></span>
</td>
<td class="nump">2,985,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_NoncurrentDeferredTaxAssetsDeprecation', window );">Depreciation</a></td>
<td class="nump">2,882,000<span></span>
</td>
<td class="nump">2,328,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther', window );">Bonuses, commissions, and other compensation</a></td>
<td class="nump">2,483,000<span></span>
</td>
<td class="nump">2,500,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_DeferredTaxAssetsOtherNoncurrent', window );">Other</a></td>
<td class="nump">3,714,000<span></span>
</td>
<td class="nump">4,175,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGrossNoncurrent', window );">Gross non-current deferred tax assets</a></td>
<td class="nump">32,517,000<span></span>
</td>
<td class="nump">30,974,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesAbstract', window );"><strong>Non-current deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Nondeductible intangible assets</a></td>
<td class="num">(379,000)<span></span>
</td>
<td class="num">(1,198,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesNoncurrent', window );">Gross non-current deferred tax liabilities</a></td>
<td class="num">(379,000)<span></span>
</td>
<td class="num">(1,198,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent', window );">Valuation allowance</a></td>
<td class="num">(4,116,000)<span></span>
</td>
<td class="num">(3,259,000)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent', window );">Net non-current deferred tax assets</a></td>
<td class="nump">28,022,000<span></span>
</td>
<td class="nump">26,517,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract', window );"><strong>Non-current deferred tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(319,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGrossCurrent', window );">Net non-current deferred tax liabilities</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (319,000)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DeferredTaxAssetsOtherNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets other non current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_DeferredTaxAssetsOtherNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Deferred tax assets tax credit carry forwards foreign and state.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_DeferredTaxAssetsTaxCreditCarryforwardsForeignAndState</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_NoncurrentDeferredTaxAssetsDeprecation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Noncurrent deferred tax assets deprecation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_NoncurrentDeferredTaxAssetsDeprecation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGrossNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences and carryforwards, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31917-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Deferred Tax Asset<br> -URI http://asc.fasb.org/extlink&amp;oid=6510090<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGrossNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=68052875&amp;loc=d3e28680-109314<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32621-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32632-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting and classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31917-109318<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNetNoncurrentClassificationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from compensation and benefits, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32621-109319<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68052875&amp;loc=d3e28680-109314<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from share-based compensation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68052875&amp;loc=d3e28680-109314<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of valuation allowance of deferred tax asset attributable to deductible temporary differences and carryforwards, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31917-109318<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31928-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowanceNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=68052875&amp;loc=d3e28680-109314<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGrossClassificationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31917-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32537-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences, with jurisdictional netting and classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31931-109318<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31958-109318<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=75116654&amp;loc=d3e31917-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32632-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 25<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=68052875&amp;loc=d3e28680-109314<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32621-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6832228208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted Average Shares - Calculation of Weighted Average Shares (Detail) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted-average common shares outstanding</a></td>
<td class="nump">85,338<span></span>
</td>
<td class="nump">86,296<span></span>
</td>
<td class="nump">86,858<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Effect of dilutive stock options</a></td>
<td class="nump">1,734<span></span>
</td>
<td class="nump">1,695<span></span>
</td>
<td class="nump">2,213<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted-average common and common-equivalent shares outstanding</a></td>
<td class="nump">87,072<span></span>
</td>
<td class="nump">87,991<span></span>
</td>
<td class="nump">89,071<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1505-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=64863997&amp;loc=d3e1448-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Weighted-Average Number of Common Shares Outstanding<br> -URI http://asc.fasb.org/extlink&amp;oid=6528421<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822533520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted Average Shares - Additional Information (Detail) - shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Stock options to purchase anti-dilutive common stock</a></td>
<td class="nump">2,195,799<span></span>
</td>
<td class="nump">3,035,078<span></span>
</td>
<td class="nump">1,286,403<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Antidilution<br> -URI http://asc.fasb.org/extlink&amp;oid=6505113<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Diluted Earnings Per Share<br> -URI http://asc.fasb.org/extlink&amp;oid=6510752<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Contingent Stock Agreement<br> -URI http://asc.fasb.org/extlink&amp;oid=6508534<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6780035104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Information - Additional Information (Detail) - Segment<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 03, 2016</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of Reportable Segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Total Revenue | Revenue from a single customer, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Maximum percentage of revenue accountability</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19.00%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="nump">16.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=cgnx_PreviousCompanySegmentsMember', window );">Previous Company Segments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of Reportable Segments</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -URI http://asc.fasb.org/extlink&amp;oid=64851502&amp;loc=d3e6351-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13531-108611<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -URI http://asc.fasb.org/extlink&amp;oid=64851502&amp;loc=d3e6404-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=73719730&amp;loc=d3e13537-108611<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=cgnx_PreviousCompanySegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=cgnx_PreviousCompanySegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R96.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6848514336">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Geographic Information - Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueGoodsNet', window );">Revenue</a></td>
<td class="nump">$ 520,753<span></span>
</td>
<td class="nump">$ 450,557<span></span>
</td>
<td class="nump">$ 426,449<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long-lived assets</a></td>
<td class="nump">56,311<span></span>
</td>
<td class="nump">55,894<span></span>
</td>
<td class="nump">47,468<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementGeographicalAxis=country_US', window );">United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueGoodsNet', window );">Revenue</a></td>
<td class="nump">136,611<span></span>
</td>
<td class="nump">119,781<span></span>
</td>
<td class="nump">120,523<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long-lived assets</a></td>
<td class="nump">40,404<span></span>
</td>
<td class="nump">40,742<span></span>
</td>
<td class="nump">33,750<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementGeographicalAxis=us-gaap_EuropeMember', window );">Europe [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueGoodsNet', window );">Revenue</a></td>
<td class="nump">231,731<span></span>
</td>
<td class="nump">199,127<span></span>
</td>
<td class="nump">195,214<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long-lived assets</a></td>
<td class="nump">12,981<span></span>
</td>
<td class="nump">12,498<span></span>
</td>
<td class="nump">10,941<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementGeographicalAxis=cgnx_GreaterChinaMember', window );">Greater China [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueGoodsNet', window );">Revenue</a></td>
<td class="nump">63,471<span></span>
</td>
<td class="nump">54,137<span></span>
</td>
<td class="nump">38,184<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long-lived assets</a></td>
<td class="nump">994<span></span>
</td>
<td class="nump">873<span></span>
</td>
<td class="nump">858<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementGeographicalAxis=cgnx_OtherGeographicAreaMember', window );">Other [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SalesRevenueGoodsNet', window );">Revenue</a></td>
<td class="nump">88,940<span></span>
</td>
<td class="nump">77,512<span></span>
</td>
<td class="nump">72,528<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long-lived assets</a></td>
<td class="nump">$ 1,932<span></span>
</td>
<td class="nump">$ 1,781<span></span>
</td>
<td class="nump">$ 1,919<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68060357&amp;loc=d3e9038-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesRevenueGoodsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue during the period from the sale of goods in the normal course of business, after deducting returns, allowances and discounts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesRevenueGoodsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementGeographicalAxis=us-gaap_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementGeographicalAxis=us-gaap_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementGeographicalAxis=cgnx_GreaterChinaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementGeographicalAxis=cgnx_GreaterChinaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementGeographicalAxis=cgnx_OtherGeographicAreaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementGeographicalAxis=cgnx_OtherGeographicAreaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R97.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6833311360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued Operations Discontinued Operations - (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 06, 2015</div></th>
<th class="th"><div>Oct. 02, 2016</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,558,000<span></span>
</td>
<td class="nump">$ 21,274,000<span></span>
</td>
<td class="nump">$ 15,158,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity', window );">Net income (loss) from discontinued operations (Note 19)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(255,000)<span></span>
</td>
<td class="nump">79,410,000<span></span>
</td>
<td class="nump">10,644,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember', window );">Discontinued Operations, Disposed of by Sale [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="nump">$ 1,106,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember', window );">Sisd [Member] | Discontinued Operations, Disposed of by Sale [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration', window );">Disposal group, including discontinued operation, consideration</a></td>
<td class="nump">155,655,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts', window );">Disposal group, including discontinued operations, transaction costs</a></td>
<td class="nump">5,198,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax', window );">Gain (loss) on sale of discontinued business</a></td>
<td class="nump">125,357,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(404,000)<span></span>
</td>
<td class="nump">125,357,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation', window );">Income tax expense on discontinued operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47,175,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation', window );">Income tax expense (benefit) on discontinued operations</a></td>
<td class="nump">$ 47,175,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(149,000)<span></span>
</td>
<td class="nump">47,801,000<span></span>
</td>
<td class="nump">4,997,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity', window );">Net income (loss) from discontinued operations (Note 19)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (255,000)<span></span>
</td>
<td class="nump">$ 79,410,000<span></span>
</td>
<td class="nump">$ 10,644,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOperatingActivitiesSegmentAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember', window );">Discontinued Operations, Disposed of by Sale [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,106,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LitigationStatusAxis=us-gaap_SettledLitigationMember', window );">Settled Litigation [Member] | AMETEK Matter [Member] | Guarantee Obligations [Member] | Sisd [Member] | Discontinued Operations, Disposed of by Sale [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue', window );">Loss contingency, damages awarded, refund of product purchase price, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">326,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue', window );">Loss contingency, damages awarded, reimbursement of legal fees, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LitigationSettlementAmount', window );">Litigation settlement, amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(281,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LegalFees', window );">Legal Fees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">123,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation', window );">Income tax expense (benefit) on discontinued operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(149,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity', window );">Net income (loss) from discontinued operations (Note 19)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (255,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operations, Transaction Costs</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_DisposalGroupIncludingDiscontinuedOperationsTransactionCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Loss Contingency, Damages Awarded, Refund Of Product Purchase Price, Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LossContingencyDamagesAwardedRefundOfProductPurchasePriceValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Loss Contingency, Damages Awarded, Reimbursement Of Legal Fees, Value</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_LossContingencyDamagesAwardedReimbursementOfLegalFeesValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=27013229&amp;loc=d3e301413-122809<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=6415400&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e957-107759<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) related to a discontinued operation. Includes, but is not limited to, tax expense (benefit) related to income (loss) from operations during the phase-out period, tax expense (benefit) related to gain (loss) on disposal, tax expense (benefit) related to gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and tax expense (benefit) related to adjustments of a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32672-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721523-107759<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65896914&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721675-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e1012-107759<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) on gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=65896914&amp;loc=d3e38679-109324<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32672-109319<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721675-107760<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration received or receivable for the disposal of assets and liabilities, including discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationConsideration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from a discontinued operation attributable to the parent. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721675-107760<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721523-107759<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e957-107759<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e1012-107759<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LegalFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of expense provided in the period for legal costs incurred on or before the balance sheet date pertaining to resolved, pending or threatened litigation, including arbitration and mediation proceedings.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LegalFees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationSettlementAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of judgment or settlement awarded to (against) the entity in respect of litigation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationSettlementAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOperatingActivitiesSegmentAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOperatingActivitiesSegmentAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationStatusAxis=us-gaap_SettledLitigationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationStatusAxis=us-gaap_SettledLitigationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationCaseAxis=cgnx_AMETEKMatterMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationCaseAxis=cgnx_AMETEKMatterMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_GuaranteeObligationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_GuaranteeObligationsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>R98.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6833303440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Discontinued Operations Discontinued Operations - Schedule of Discontinued Operations (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 06, 2015</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity', window );">Net income (loss) from discontinued operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (255,000)<span></span>
</td>
<td class="nump">$ 79,410,000<span></span>
</td>
<td class="nump">$ 10,644,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Stockbasedcompensationdiscontinuedoperation', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,533,000<span></span>
</td>
<td class="nump">1,099,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalExpenditureDiscontinuedOperations', window );">Capital expenditures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">482,000<span></span>
</td>
<td class="nump">631,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember', window );">Sisd [Member] | Discontinued Operations, Disposed of by Sale [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">23,248,000<span></span>
</td>
<td class="nump">59,821,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold', window );">Cost of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(11,291,000)<span></span>
</td>
<td class="num">(26,953,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses', window );">Research, development, and engineering expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,126,000)<span></span>
</td>
<td class="num">(4,089,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses', window );">Selling, general, and administrative expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(7,800,000)<span></span>
</td>
<td class="num">(12,968,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses', window );">Foreign currency loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(177,000)<span></span>
</td>
<td class="num">(170,000)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax', window );">Operating income from discontinued business</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,854,000<span></span>
</td>
<td class="nump">15,641,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax', window );">Gain (loss) on sale of discontinued business</a></td>
<td class="nump">$ 125,357,000<span></span>
</td>
<td class="num">(404,000)<span></span>
</td>
<td class="nump">125,357,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Incomefromdiscontinuedoperationstotalpretax', window );">Income from discontinued operations before income tax expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(404,000)<span></span>
</td>
<td class="nump">127,211,000<span></span>
</td>
<td class="nump">15,641,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation', window );">Income tax expense (benefit) on discontinued operations</a></td>
<td class="nump">$ 47,175,000<span></span>
</td>
<td class="num">(149,000)<span></span>
</td>
<td class="nump">47,801,000<span></span>
</td>
<td class="nump">4,997,000<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity', window );">Net income (loss) from discontinued operations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(255,000)<span></span>
</td>
<td class="nump">79,410,000<span></span>
</td>
<td class="nump">10,644,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Stockbasedcompensationdiscontinuedoperation', window );">Stock-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,533,000<span></span>
</td>
<td class="nump">1,099,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_DepreciationDiscontinuedOperations', window );">Depreciation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">401,000<span></span>
</td>
<td class="nump">777,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AmortizationDiscontinuedOperations', window );">Amortization expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">165,000<span></span>
</td>
<td class="nump">364,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalExpenditureDiscontinuedOperations', window );">Capital expenditures</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 482,000<span></span>
</td>
<td class="nump">$ 631,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AmortizationDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortization, Discontinued Operations</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_AmortizationDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DepreciationDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Depreciation, Discontinued Operations</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_DepreciationDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operations, Research Development And Engineering Expenses</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_DisposalGroupIncludingDiscontinuedOperationsResearchDevelopmentAndEngineeringExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disposal Group, Including Discontinued Operations, Selling General And Administrative Expenses</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_DisposalGroupIncludingDiscontinuedOperationsSellingGeneralAndAdministrativeExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Incomefromdiscontinuedoperationstotalpretax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income from discontinued operations, total pretax</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Incomefromdiscontinuedoperationstotalpretax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Stockbasedcompensationdiscontinuedoperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>stock-basedcompensationdiscontinuedoperation</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_Stockbasedcompensationdiscontinuedoperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpenditureDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of capital expenditure attributable to discontinued operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (c)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpenditureDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of gain (loss) not previously recognized resulting from the disposal of a discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e957-107759<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of income (loss) from a discontinued operation. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e1012-107759<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721523-107759<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e957-107759<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) related to a discontinued operation. Includes, but is not limited to, tax expense (benefit) related to income (loss) from operations during the phase-out period, tax expense (benefit) related to gain (loss) on disposal, tax expense (benefit) related to gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and tax expense (benefit) related to adjustments of a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=65882285&amp;loc=d3e32672-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721523-107759<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=65896914&amp;loc=d3e38679-109324<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721675-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e1012-107759<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of costs of goods sold attributable to disposal group, including, but not limited to, discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationCostsOfGoodsSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) in the disposal group, including discontinued operation, recognized in the statement of income as a result of the sale or complete or substantially complete liquidation of an investment in a foreign entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=64808268&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue attributable to disposal group, including, but not limited to, discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of income (loss) from a discontinued operation attributable to the parent. Includes, but is not limited to, the income (loss) from operations during the phase-out period, gain (loss) on disposal, gain (loss) for reversal of write-down (write-down) to fair value, less cost to sell, and adjustments to a prior period gain (loss) on disposal.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721675-107760<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3B<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721525-107759<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3A<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=SL51721523-107759<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e957-107759<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=65878427&amp;loc=d3e1012-107759<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=d3e1361-107760<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -SubTopic 20<br> -Section 50<br> -Paragraph 5B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=64827811&amp;loc=SL51721673-107760<br><br>Reference 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 19<br> -URI http://asc.fasb.org/extlink&amp;oid=68079674&amp;loc=SL4569616-111683<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis=cgnx_SisdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisposalGroupClassificationAxis=us-gaap_DiscontinuedOperationsDisposedOfBySaleMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<FILENAME>R99.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6649545344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions Acquisitions - (Details) - acquisition<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract', window );"><strong>Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfBusinessesAcquired', window );">Number of acquisitions</a></td>
<td class="nump">4<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfBusinessesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of businesses acquired by the entity during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfBusinessesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>114
<FILENAME>R100.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6832647248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Webscan, Inc. Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 09, 2016</div></th>
<th class="th"><div>Jan. 31, 2017</div></th>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_WebscanInc.Member', window );">Webscan, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price</a></td>
<td class="nump">$ 3,176<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash paid in purchase price</a></td>
<td class="nump">$ 3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember', window );">Subsequent Event [Member] | Webscan, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash paid in purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 176<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Intangible assets, useful life</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member] | Webscan, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Intangible assets, useful life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=6911251&amp;loc=d3e6578-128477<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=6911251&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_WebscanInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_WebscanInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>115
<FILENAME>R101.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6833081536">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - Webscan, Inc Purchase Price Allocation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 09, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 95,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 81,448<span></span>
</td>
<td class="nump">$ 77,388<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_WebscanInc.Member', window );">Webscan, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 504<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">296<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">925<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(77)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,176<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Webscan, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member] | Webscan, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 840<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=73531372&amp;loc=d3e2207-128464<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of inventory recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=73531372&amp;loc=d3e2207-128464<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=64834752&amp;loc=SL49117168-202975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_WebscanInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_WebscanInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>R102.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6822587584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - Chiaro Technologies LLC (Details) - Chiaro Technologies LLC [Member] - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 09, 2016</div></th>
<th class="th"><div>Nov. 30, 2016</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash paid in purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,538<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Contingent consideration, noncurrent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">611<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow', window );">Contingent consideration, low range</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh', window );">Contingent consideration, high range</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,250<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Intangible assets, useful life</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=6911251&amp;loc=d3e6578-128477<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=6911251&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For contingent consideration arrangements and indemnification assets recognized in connection with a business combination, this element represents an estimate of the low-end of the potential range (undiscounted) of the consideration which may be paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI http://asc.fasb.org/extlink&amp;oid=6911338&amp;loc=d3e6819-128478<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>117
<FILENAME>R103.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6835561504">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - Chiaro Technologies LLC Purchase Price Allocation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Nov. 30, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 95,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 81,448<span></span>
</td>
<td class="nump">$ 77,388<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember', window );">Chiaro Technologies LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,911<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses', window );">Accrued expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(115)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,149<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member] | Chiaro Technologies LLC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accrued Expenses</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=73531372&amp;loc=d3e2207-128464<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=64834752&amp;loc=SL49117168-202975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>118
<FILENAME>R104.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6660253440">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - EnShape GmbH Narrative (Details) - EnShape GmbH [Member]<br> &#8364; in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Nov. 30, 2016</div></th>
<th class="th">
<div>Oct. 27, 2016 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 27, 2016 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Oct. 27, 2016 </div>
<div>EUR (&#8364;)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,901<span></span>
</td>
<td class="nump">&#8364; 7,250<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash paid in purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,395<span></span>
</td>
<td class="nump">4,950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment', window );">Deferred cash payment on business acquisition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,144<span></span>
</td>
<td class="nump">&#8364; 1,050<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Contingent consideration, current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8364; 1,250<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow', window );">Contingent consideration, low range</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh', window );">Contingent consideration, high range</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,362<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8364; 1,250<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Intangible assets, useful life</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Consideration Transferred, Deferred Cash Payment</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_BusinessCombinationConsiderationTransferredDeferredCashPayment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=6911251&amp;loc=d3e6578-128477<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=6911251&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For contingent consideration arrangements and indemnification assets recognized in connection with a business combination, this element represents an estimate of the low-end of the potential range (undiscounted) of the consideration which may be paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI http://asc.fasb.org/extlink&amp;oid=6911338&amp;loc=d3e6819-128478<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<FILENAME>R105.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6835285712">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - EnShape GmbH Purchase Price Allocation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Oct. 27, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 95,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 81,448<span></span>
</td>
<td class="nump">$ 77,388<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember', window );">EnShape GmbH [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents', window );">Cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 167<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">79<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment', window );">Property, plant, and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,613<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable', window );">Accounts payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses', window );">Accrued expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(209)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable', window );">Accrued income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,342)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,901<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | EnShape GmbH [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">447<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member] | EnShape GmbH [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,089<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accrued Expenses</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Income Tax Payable</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesIncomeTaxPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=73531372&amp;loc=d3e2207-128464<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of inventory recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=73531372&amp;loc=d3e2207-128464<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of property, plant, and equipment recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=73531372&amp;loc=d3e2207-128464<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=64834752&amp;loc=SL49117168-202975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_EnShapeGmbHMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>120
<FILENAME>R106.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6848407744">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - AQSense, S.L. Narrative (Details) - AQSense, S.L. [Member]<br> &#8364; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Aug. 30, 2016 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 30, 2016 </div>
<div>EUR (&#8364;)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash paid in purchase price</a></td>
<td class="nump">$ 2,519<span></span>
</td>
<td class="nump">&#8364; 2,232<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Intangible assets, useful life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_AQSenseS.L.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_AQSenseS.L.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>121
<FILENAME>R107.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6835546416">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - AQSense, S.L. Purchase Price Allocation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Aug. 30, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 95,280<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 81,448<span></span>
</td>
<td class="nump">$ 77,388<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_AQSenseS.L.Member', window );">AQSense, S.L. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 168<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,383<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses', window );">Accrued expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,519<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | AQSense, S.L. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">598<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member] | AQSense, S.L. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 384<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accrued Expenses</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedCurrentLiabilitiesAccruedExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=73531372&amp;loc=d3e2207-128464<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=64834752&amp;loc=SL49117168-202975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_AQSenseS.L.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_AQSenseS.L.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>122
<FILENAME>R108.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6849509680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Manatee Works Inc. Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Aug. 21, 2015</div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Revaluation of contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (463)<span></span>
</td>
<td class="num">$ (790)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForPreviousAcquisition', window );">Payment of contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">337<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member', window );">Manatee Works, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationConsiderationTransferred1', window );">Purchase price</a></td>
<td class="nump">$ 4,813<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesGross', window );">Cash paid in purchase price</a></td>
<td class="nump">1,023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration liability</a></td>
<td class="nump">$ 3,790<span></span>
</td>
<td class="nump">2,200<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Revaluation of contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">463<span></span>
</td>
<td class="nump">$ 790<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForPreviousAcquisition', window );">Payment of contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">337<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent', window );">Contingent consideration, current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent', window );">Contingent consideration, noncurrent</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife', window );">Intangible assets, useful life</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementScenarioAxis=us-gaap_ScenarioForecastMember', window );">Scenario, Forecast [Member] | Manatee Works, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow', window );">Contingent consideration, low range</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh', window );">Contingent consideration, high range</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,200<span></span>
</td>
<td class="nump">$ 1,700<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16265-109275<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=6911251&amp;loc=d3e6578-128477<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=6911251&amp;loc=d3e6613-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>For contingent consideration arrangements and indemnification assets recognized in connection with a business combination, this element represents an estimate of the low-end of the potential range (undiscounted) of the consideration which may be paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueLow</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6911338&amp;loc=d3e6819-128478<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI http://asc.fasb.org/extlink&amp;oid=6911338&amp;loc=d3e6819-128478<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled beyond one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph b<br> -URI http://asc.fasb.org/extlink&amp;oid=6911338&amp;loc=d3e6819-128478<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForPreviousAcquisition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash outflow representing an adjustment to the purchase price of a previous acquisition.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForPreviousAcquisition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Glossary Investing Activities<br> -URI http://asc.fasb.org/extlink&amp;oid=6516133<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=66902209&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementScenarioAxis=us-gaap_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementScenarioAxis=us-gaap_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>123
<FILENAME>R109.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6835400976">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Acquisitions - Manatee Works Inc. Purchase Price Allocation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Aug. 21, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">$ 95,280<span></span>
</td>
<td class="nump">$ 81,448<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 77,388<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member', window );">Manatee Works, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 23<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,060<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet', window );">Purchase price</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,813<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer Relationships [Member] | Manatee Works, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember', window );">Technology-Based Intangible Assets [Member] | Manatee Works, Inc. [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles', window );">Finite-lived intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 590<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of identifiable intangible assets recognized as of the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 55<br> -Paragraph 37<br> -URI http://asc.fasb.org/extlink&amp;oid=73531372&amp;loc=d3e2207-128464<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=73530397&amp;loc=d3e4845-128472<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=64834752&amp;loc=SL49117168-202975<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=cgnx_ManateeWorksInc.Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TechnologyBasedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>124
<FILENAME>R110.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6836922992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events Subsequent Events - (Details) - Subsequent Event [Member] - $ / shares<br></strong></div></th>
<th class="th"><div>Mar. 17, 2017</div></th>
<th class="th"><div>Mar. 03, 2017</div></th>
<th class="th"><div>Feb. 16, 2017</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventLineItems', window );"><strong>Subsequent Event [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableAmountPerShare', window );">Dividends Payable, Amount Per Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.075<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear', window );">Dividends Payable, Date Declared</a></td>
<td class="text">Mar. 17,  2017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear', window );">Dividends Payable, Date of Record</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Mar.  03,  2017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableAmountPerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The per share amount of a dividend declared, but not paid, as of the financial reporting date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6367179&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableAmountPerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableDateDeclaredDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date the dividend to be paid was declared, in CCYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=6367179&amp;loc=d3e4304-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableDateDeclaredDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date the holder must own the stock to be entitled to the dividend, in CCYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsPayableDateOfRecordDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>125
<FILENAME>R111.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.6.0.2</span><table class="report" border="0" cellspacing="2" id="idp6834827648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Schedule II -Valuation and Qualifying Accounts (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2016</div></th>
<th class="th"><div>Dec. 31, 2015</div></th>
<th class="th"><div>Dec. 31, 2014</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement in Valuation Allowances and Reserves [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at Beginning of Period</a></td>
<td class="nump">$ 736<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at End of Period</a></td>
<td class="nump">873<span></span>
</td>
<td class="nump">$ 736<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_UncollectibleReceivablesMember', window );">Reserve for Uncollectible Accounts [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement in Valuation Allowances and Reserves [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at Beginning of Period</a></td>
<td class="nump">736<span></span>
</td>
<td class="nump">820<span></span>
</td>
<td class="nump">$ 909<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charged to Costs and Expenses</a></td>
<td class="nump">216<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Deductions</a></td>
<td class="num">(64)<span></span>
</td>
<td class="num">(44)<span></span>
</td>
<td class="num">(32)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesAdjustments', window );">Other</a></td>
<td class="num">(15)<span></span>
</td>
<td class="num">(40)<span></span>
</td>
<td class="num">(57)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at End of Period</a></td>
<td class="nump">873<span></span>
</td>
<td class="nump">736<span></span>
</td>
<td class="nump">820<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember', window );">Reserve for Inventory Obsolescence [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement in Valuation Allowances and Reserves [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at Beginning of Period</a></td>
<td class="nump">3,803<span></span>
</td>
<td class="nump">5,058<span></span>
</td>
<td class="nump">4,301<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charged to Costs and Expenses</a></td>
<td class="nump">3,641<span></span>
</td>
<td class="nump">1,562<span></span>
</td>
<td class="nump">3,204<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Deductions</a></td>
<td class="num">(4,075)<span></span>
</td>
<td class="num">(2,443)<span></span>
</td>
<td class="num">(1,978)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesAdjustments', window );">Other</a></td>
<td class="num">(52)<span></span>
</td>
<td class="num">(374)<span></span>
</td>
<td class="num">(469)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at End of Period</a></td>
<td class="nump">3,317<span></span>
</td>
<td class="nump">3,803<span></span>
</td>
<td class="nump">5,058<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember', window );">Deferred Tax Valuation Allowance [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward', window );"><strong>Movement in Valuation Allowances and Reserves [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at Beginning of Period</a></td>
<td class="nump">3,259<span></span>
</td>
<td class="nump">2,483<span></span>
</td>
<td class="nump">1,758<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense', window );">Charged to Costs and Expenses</a></td>
<td class="nump">857<span></span>
</td>
<td class="nump">817<span></span>
</td>
<td class="nump">725<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesDeductions', window );">Deductions</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesAdjustments', window );">Other</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(41)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ValuationAllowancesAndReservesBalance', window );">Balance at End of Period</a></td>
<td class="nump">$ 4,116<span></span>
</td>
<td class="nump">$ 3,259<span></span>
</td>
<td class="nump">$ 2,483<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MovementInValuationAllowancesAndReservesRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MovementInValuationAllowancesAndReservesRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the allowances and reserves, which consist of the valuation and qualifying accounts that are either netted against the cost of an asset or that reflect a liability established to represent expected future costs, from adjustments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the allowances and reserves, which consist of the valuation and qualifying accounts that are either netted against the cost of an asset or that reflect a liability established to represent expected future costs, from charges to costs and expenses.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesDeductions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of the deductions in a given period to allowances and reserves, the valuation and qualifying accounts that are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs, representing receivables written off as uncollectible and portions of the reserves utilized, respectively.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09)<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24092-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesDeductions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_UncollectibleReceivablesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_UncollectibleReceivablesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_InventoryValuationReserveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowancesAndReservesTypeAxis=us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>126
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    (  2!4$H?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ !(%02F;S"V""    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGB06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    "  $@5!*WQJ'(NX    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+/:L,P#(=?9?B>R$XA!9/FTM%3!X,5-G8SMMJ:Q7^P-9*^_9*L
M31G; ^QHZ>=/GT"-CE*'A,\I1$QD,3\,KO-9ZKAA9Z(H ;(^HU.Y'!-^;!Y#
M<HK&9SI!5/I#G1 JSFMP2,HH4C !B[@06=L8+75"12%=\48O^/B9NAEF-&"'
M#CUE$*4 UDX3XV7H&K@#)AAA<OF[@&8ASM4_L7,'V#4Y9+ND^KXO^]6<&W<0
M\/:T?YG7+:S/I+S&\5>VDBX1-^PV^76U?3SL6%MQL2YX58CZ(&K)UY)7[Y/K
M#[^[L O&'NT_-KX)M@W\NHOV"U!+ P04    "  $@5!*F5R<(Q &  "<)P
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
M^\ZY'RAY&+X*HO'39/$74$L#!!0    (  2!4$K!;1W/'P(  "\&   8
M>&PO=V]R:W-H965T<R]S:&5E=#0N>&UL?55=CYLP$/PKB/<[\YU<1) NB:I6
M:J7HJFN?';(!=#:FMA.N_[ZV(1PR[KW$WF5F/+O!2]XS_B9J .F]4]**K5]+
MV6T0$F4-%(M'UD&KGEP8IUBJD%=(=!SPV9 H05$09(CBIO6+W.2.O,C959*F
MA2/WQ)52S/_N@+!^ZX?^/?'25+74"53D':[@)\C7[LA5A":5<T.A%0UK/0Z7
MK?\<;@Z9QAO KP9Z,=M[NI(38V\Z^';>^H$V! 1*J16P6FZP!T*TD++Q9]3T
MIR,U<;Z_JW\QM:M:3EC GI'?S5G66W_M>V>XX"N1+ZS_"F,]J>^-Q7^'&Q %
MUT[4&24CPOQZY55(1D<5987B]V%M6K/VH_Z=YB9$(R&:"&'V*2$>"?$'(?F4
MD(R$Q"*@H133FP.6N,@YZST^_+L=UB]1N$E4]TN=-,TVSU1[A,K>BE64HYO6
M&2&[ 1+-(.&$0$I\.B%RG;"+%G3K@/T2$5N0@P,2NTW$SC)CPX]G_/3)S4^<
M_,3PDWF;8JM- R0SD-9 'B*[TB7&AAR6D,!M-'4:39=&$\OH $GG)I*U972)
M>8A63Y;5)2CYC]?,Z35;>DTMKYFKJ;99!V@5AI99!VB]LNVBV;6AP"LSDH17
MLFLK]>LWRTY3[SG2U\[*[]0T'(;7A\PP2G]@7C6M\$Y,JDMMKMZ%,0G*8_"H
M>EFKZ3T%!"Y2;U=JSX<9-@22=>-X1M,WHO@'4$L#!!0    (  2!4$J+!('=
M8 0  #85   8    >&PO=V]R:W-H965T<R]S:&5E=#4N>&ULA9C;;N,V$(9?
MQ?!]5YP9\10X!IH410NTP&*+MM=*S,3&2I8K*?'V[4O)BM?F#-U<1 ?_0_Y#
M41]'7!W;[FN_#6%8?&OJ?7^_W [#X:XH^N=M:*K^4WL(^_C+2]LUU1 ON]>B
M/W2AVDQ!35V@4J9HJMU^N5Y-]SYWZU7[-M2[??C<+?JWIJFZ?Q]"W1[OE[#\
MN/%E][H=QAO%>G6H7L,?8?CS\+F+5\6YE<VN"?M^U^X777BY7_X(=X]4C@&3
MXJ]=./87YXLQE:>V_3I>_+JY7ZK14:C#\S V4<7#>W@,=3VV%'W\,S>Z//<Y
M!EZ>?[3^\Y1\3.:IZL-C6_^]VPS;^Z5;+C;AI7JKAR_M\9<P)Z27BSG[W\)[
MJ*-\=!+[>&[K?OJ_>'[KA[:96XE6FNK;Z;C;3\?CW/Y'F!R <P"> V+?MP)H
M#J#O =-H%B=G4ZH_54.U7G7M<=&=GM:A&B<%W%$<S.?QYC1VTV\QVS[>?5];
MLRK>QW9FR<-)@A<2O%8\<@5]EQ2Q_[,)%$W@%$^7)JP<3V(\3?'E9;Q+DCA)
MS"39GR3>E*"42G+A0@W>ZDOAE:-2=%1R1SYQ=)+HBXZH!/ EM\25&+T;E_6D
M14^:>7))3P^:]:1U28Y;XL(276FRCHSHR'!'D#@R/'<$RPT)NC+KQHIN+'>3
M3/0'RWLQW@F/C O)$N4=.=&1XXXH<>2X(^7&\4D=<2%H5]JL(R\Z\MQ1F3CR
M? ZAH5(8)*XLXY_/CQ(HF6&*N](IQ!1_(E@2:6Y+D*(EY?+O&V38"MP7@ROP
MX2+O4; E*='ER00R; &Y*YNZ0M:7U^B$:24H'93EC;&2$0Z<X2YE^*RYZHM
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
M7:QT*=5^G2!#- 89OG/"PFZ L+OX@=)(M<XLF0P(.X J,-5+@-/.).!5U@I
M+6MOR.2H *@?%3[S2LO@>F% O7#Q(ZV1]2(UWL''0W()=B0T__12N_WAPQ]Y
M];S9UY/[LFG*7?<6^ZDLF\*'3+[X8"]%_GBZV!9/3?O5^>_5\0<'QXNF//0_
MIIB??M%Q^Q]02P,$%     @ !8%02M+'W\PA @  - 8  !@   !X;"]W;W)K
M<VAE971S+W-H965T.2YX;6Q]55V/FS 0_"N(]SN'CT :$:1+HE,KM5)T5=MG
M!S8!G8TYVPG7?U_;$(X8]UYB>YF9G=W@)>L8?Q45@/3>*6G$QJ^D;-<(B:("
MBL4C:Z%13TZ,4RS5D9^1:#G@TI H0>%BD2"*Z\;/,Q,[\#QC%TGJ!@[<$Q=*
M,?^[!<*ZC1_XM\!+?:ZD#J \:_$9?H+\U1ZX.J%1I:PI-*)FC<?AM/&?@O4^
MT7@#^%U#)R9[3U=R9.Q5'[Z5&W^A#0&!0FH%K)8K[( 0+:1LO V:_IA2$Z?[
MF_JSJ5W5<L0"=HS\J4M9;?R5[Y5PPA<B7UCW%89ZEKXW%/\=KD 47#M1.0I&
MA/GUBHN0C XJR@K%[_U:-V;M!OT;S4T(!T(X$H+D4T(T$*(/0OPI(1X(L45
M?2FF-WLL<9YQUGF\_W=;K%^B8!VK[A<Z:)IMGJGV"!6]YD&ZS-!5"PV8;8\)
MIY@1@93ZF")TI=B&,WIXGV W1T069.^ 1&X3D;/.R/"CNSH3MT#L%(B-0'PG
MD%J-ZC&)P30&\Q#:M<XQ-F0_ARS<3I=.ITN'TY7EM,<LIRYB"[.;8Q["](OE
M=0Z*_V,V<9I-'&:M'-O$U5;;K0.4!H'EU@%:I;9?-+D[%/C9S"7A%>S22/T*
M3J+CZ'L*]=VSXELU$OL)]B'3S],?F)_K1GA')M7--O?OQ)@$Y7'QJ)I9J1$^
M'@B<I-ZF:L_[0=8?)&N'&8W&#T7^#U!+ P04    "  %@5!*V=AYU[,!  #2
M P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q]4V%OW" ,_2N('U!R
MN:P[G9)(O4Y3*VW2J=.VSUSB)*B 4R"7[M\/2)IE6[8O@(W?\[,Q^8CFV78
MCKPJJ6U!.^?Z(V.VZD!Q>X,]:'_3H%'<>=.TS/8&>!U!2K(T26Z9XD+3,H^^
MLRES')P4&LZ&V$$I;GZ<0.)8T!U]<SR)MG/!P<J\YRU\ ?>U/QMOL86E%@JT
M%:B)@::@=[OC*0OQ,>";@-&NSB14<D%\#L9C7= D" ()E0L,W&]7N <I Y&7
M\3)STB5E *[/;^P?8^V^E@NW<(_RNZA=5] #)34T?)#N"<<'F.MY1\E<_">X
M@O3A08G/4:&T<2758!VJF<5+4?QUVH6.^SC=9/L9M@U(9T"Z  XQ#YL21>4?
MN.-E;G D9NI]S\,3[XZI[TT5G+$5\<Z+M]Y[+7>')&?70#3'G*:8=!VS1##/
MOJ1(MU*<TK_@Z39\OZEP'^'[WQ3^(W^V29!%@NR_)6[%_*F2K7JJP+1QFBRI
M<-!QDE?>96#OTO@FO\*G:?_,32NT)1=T_F5C_QM$!UY*<N-'J/,?;#$D-"X<
MW_NSF<9L,ASV\P]BRS<N?P)02P,$%     @ !8%02C^%%>"T 0  T@,  !D
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
MXTGRD6DA6YJGT7>V>6IZKV0+9TM<K[6POTZ@S)#1#7US/,BZ\<'!\K03-?P
M_[,[6[38S%)*#:V3IB46JHS>;HZG78B/ 8\2!K<XDU#)Q9CG8'PM,YH$0:"@
M\(%!X':%.U J$*&,EXF3SBD#<'E^8_\2:\=:+L+!G5%/LO1-1@^4E%")7OD'
M,]S#5,\'2J;BO\$5%(8')9BC,,K%E12]\T9/+"A%B]=QEVW<A_&&[R?8.H!/
M #X##C$/&Q-%Y9^%%WEJS4#LV/M.A"?>'#GVI@C.V(IXA^(=>J\Y3_8INP:B
M*>8TQO!%S&:.8,@^I^!K*4[\'SA?AV]7%6XC?/N'PL,ZP6Z58!<)=O\M<2WF
MTU])V**G&FP=I\F1PO1MG.2%=Q[86Q[?Y#U\G/;OPM:R=>1B/+YL[']EC >4
MDMS@"#7XP69#0>7#<8]G.X[9:'C333^(S=\X_PU02P,$%     @ !8%02K&V
M-&VS 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL?5-A;]P@
M#/TKB!]0$N[6G4Y)I%ZG:9,VZ=1IZV<N<1)4B#,@E^[?#TB:9EO6+X"-W_.S
M,=F(YLFV (X\:]79G+;.]4?&;-F"%O8&>^C\38U&"^=-TS#;&Q!5!&G%>)+<
M,BUD1XLL^LZFR'!P2G9P-L0.6@OSZP0*QYRF],7Q()O6!0<KLEXT\ W<]_YL
MO,46EDIJZ*S$CABH<WJ7'D_[$!\#?D@8[>I,0B47Q*=@?*YRF@1!H*!T@4'X
M[0KWH%0@\C)^SIQT21F Z_,+^\=8NZ_E(BS<HWJ4E6MS>J"D@EH,RCW@^ GF
M>MY1,A?_!:Z@?'A0XG.4J&Q<23E8AWIF\5*T>)YVV<5]G&YN#S-L&\!G %\
MAYB'38FB\@_"B2(S.!(S];X7X8G3(_>]*8,SMB+>>?'6>Z\%3Y.,70/1''.:
M8O@J)ETBF&=?4O"M%"?^#YQOPW>;"G<1OOM#X7_R[S<)]I%@_V:)6S%_JV2K
MGFHP39PF2TH<NCC)*^\RL'<\OLEK^#3M7X5I9&?)!9U_V=C_&M&!EY+<^!%J
M_0=;# 6U"\?W_FRF,9L,A_W\@]CRC8O?4$L#!!0    (  6!4$HM; -PM@$
M -(#   9    >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;&U386_<( S]*X@?
M4"Y<VE6G)%*OT[1*JW3JM.TSES@)*L0ID$O[[P<DS=(N7P ;O^=G8[(1S;-M
M 1QYU:JS.6V=ZP^,V;(%+>P5]M#YFQJ-%LZ;IF&V-R"J"-**\=WNAFDA.UID
MT7<R18:#4[*#DR%VT%J8MR,H''.:T'?'DVQ:%QRLR'K1P$]PO_J3\19;6"JI
MH;,2.V*@SNE=<CBF(3X&_)8PVM69A$K.B,_!>*ARN@N"0$'I H/PVP7N0:E
MY&6\S)QT21F Z_,[^[=8NZ_E+"S<H_HC*]?F]):2"FHQ*/>$XW>8Z[FF9"[^
M!UQ ^?"@Q.<H4=FXDG*P#O7,XJ5H\3KMLHO[.-WP9(9M _@,X O@-N9A4Z*H
M_*MPHL@,CL1,O>]%>.+DP'UORN",K8AW7KSUWDO!DWW&+H%HCCE.,7P5DRP1
MS+,O*?A6BB/_#\ZWX?M-A?L(WW]0F&X3I)L$:21(/Q!<?RIQ*^;F4Q*VZJD&
MT\1ILJ3$H8N3O/(N WO'XYO\"Y^F_5&81G:6G-'YEXW]KQ$=>"F[*S]"K?]@
MBZ&@=N'XQ9_--&:3X;"??Q!;OG'Q%U!+ P04    "  %@5!*_37I'[4!  #2
M P  &0   'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q]4VV/U" 0_BN$'W!L
MV>JNF[;)[1FCB2:;,YZ?V7;ZD@.F MV>_UZ@O5JU\0LPPSS//#,,V8CFV;8
MCKPHJ6U.6^?Z$V.V;$$)>X<]:']3HU'">=,TS/8&1!5!2C*^V[UE2G2:%EGT
M74R1X>!DI^%BB!V4$N;G&22..4WHJ^.Q:UH7'*S(>M' 5W#?^HOQ%EM8JDZ!
MMAUJ8J#.Z7UR.J<A/@8\=3#:U9F$2JZ(S\'X5.5T%P2!A-(%!N&W&SR E('(
MR_@Q<](E90"NSZ_L'V+MOI:KL/" \GM7N3:G1THJJ,4@W2..'V&NYPTE<_&?
MX0;2AP<E/D>)TL:5E(-UJ&86+T6)EVGO=-S'Z>:0SK!M )\!? $<8QXV)8K*
MWPLGBLS@2,S4^UZ$)TY.W/>F#,[8BGCGQ5OOO14\.63L%HCFF/,4PU<QR1+!
M//N2@F^E./-_X'P;OM]4N(_P_1\*C]L$Z29!&@G2_Y:X%?/NKR1LU5,%IHG3
M9$F)@XZ3O/(N WO/XYO\#I^F_8LP3:<MN:+S+QO[7R,Z\%)V=WZ$6O_!%D-"
M[<+QX,]F&K/)<-C//X@MW[CX!5!+ P04    "  %@5!*0+R?![,!  #2 P
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
MLPJFHL7+M,LN[N-TDU[/M&T"GPE\(=S&.&P*%#/_(KPH,FM&8J?>]R(\\>[
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
M.O^RL?\UH@,O);GQ(]3Z#[88"FH7CA_\V4QC-AD.^_D'L>4;%W\ 4$L#!!0
M   (  6!4$I)A+*QM $  -(#   9    >&PO=V]R:W-H965T<R]S:&5E=#,Q
M+GAM;'U3VX[3,!#]%<L?L&[= %651-HN0B"!5"V"?7:326*M+\%VFN7O&3O9
M$"#BQ?:,YYPY,Q[GHW7/O@,(Y$4KXPO:A="?&/-5!UKX.]N#P9O&.BT"FJYE
MOG<@Z@32BO'=[BW30AI:YLEW<65NAZ"D@8LC?M!:N)]G4'8LZ)Z^.AYEVX7H
M8&7>BQ:^0OC67QQ:;&&II0;CI37$05/0^_WIG,7X%/!=PNA79Q(KN5K['(U/
M=4%W41 HJ$)D$+C=X &4BD0HX\?,29>4$;@^O[)_2+5C+5?AX<&J)UF'KJ!'
M2FIHQ*#"HQT_PES/&TKFXC_##12&1R68H[+*IY54@P]6SRPH18N7:9<F[>-T
MDQUGV#: SP"^ (XI#YL2)>7O11!E[NQ(W-3[7L0GWI\X]J:*SM2*=(?B/7IO
M)<]XSFZ1:(XY3S%\%;-?(ABR+RGX5HHS_P?.M^&'386'!#_\H?"P39!M$F2)
M(/MOB5LQV5])V*JG&ER;ILF3R@XF3?+*NPSL/4]O\CM\FO8OPK72>'*U 5\V
M];^Q-@!*V=WA"'7XP19#01/B\1V>W31FDQ%L/_\@MGSC\A=02P,$%     @
M!8%02G*I@/?; @  2@P  !D   !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL
M=5=_;]HP$/TJ43Y $Q_D!Q4@E4[3)FU2U6G=WRX8B)K$S#;0??LY3IHQY_D?
M8COO[IWM>Y=C>97J31^%,-%[4[=Z%1^-.=TGB=X>1</UG3R)UK[92]5P8Z?J
MD.B3$GSGC)HZH33-DX97;;Q>NK4GM5[*LZFK5CRI2)^;AJL_&U'+ZRIF\<?"
M<W4XFFXA62]/_"!^"//S]*3L+!F][*I&M+J2;:3$?A4_L/L-99V!0[Q4XJIO
MQE&WE5<IW[K)U]TJ3KN(1"VVIG/![>,B'D5==YYL'+\'I_'(V1G>CC^\?W:;
MMYMYY5H\ROI7M3/'55S&T4[L^;DVS_+Z10P;RN)HV/TW<1&UA7>16(ZMK+7[
MC;9G;60S>+&A-/R]?U:M>U[[-_F'&3:@P8!&@](9)#V1B_P3-WR]5/(:J?[P
M3[R[8W9/]FRVW:(["O?.!J_MZF5-\VR97#I' V;38^@&PT9$8KV/%(0H-C0Q
M)VP^@Q'.G/GLEKT,\,^A@[ES,/]OB[FW180I,$D&23+@H/1($&:!27)(DD\=
M9*E'@C"!XRH@20$<D$>",#-,4D*2<N* E?Z=3#&4S3') I(L ,G"(YEB*,LP
M"4NQ@E+@PM\+! 42C 64RB8N2O]> (:R,D #U?K :'IJB[G/,P51%DAEAF7-
M9H#'OQT HCP-\&#ULZFTR\*G ?+/ Z)A6/\,B#N?7 \"!73#< E@0-_YY'H0
M*)35N HP(/%\DM4(%,IJ7 @84'GN%TX("J4;K@4,"+WP:R<$A;YUN!H0$#KS
M\PV!BL!'D7 U(*!TFOD\ %0$\HUP.2"@],+/-P@*Y!OA<D! Z86?;Q 4R#?"
MY8" U L_WR HD&^$ZP$!J3,_WQ"H],M;<M/*-4(=7!.KHZT\MZZ#OED=&^4'
M<JW@/WC?97_GZE"U.GJ5QC:4KNW;2VF$C26]L[$<;6,_3FJQ-]VPL&/5=[?]
MQ,C3T+DGX]^']5]02P,$%     @ !8%02N,";??! 0  -P0  !D   !X;"]W
M;W)K<VAE971S+W-H965T,S,N>&UL;53MCML@$'P5Q ,<"8E[461;NEQ5M5(K
M15>U_4WLM8V.#Q=P?'W[ G9\;LJ?P*YG9V:!33YJ\VH[ (?>I%"VP)US_9$0
M6W4@F7W0/2C_I=%&,N=#TQ+;&V!U+)*"T,WF Y&,*USF,7<V9:X')[B"LT%V
MD)*9/R<0>BSP%M\2+[SM7$B0,N]9"]_!_>C/QD=D8:FY!&6Y5LA 4^"G[?&4
M!7P$_.0PVM4>A4XN6K^&X$M=X$TP! (J%QB87Z[P#$($(F_C]\R)%\E0N-[?
MV#_%WGTO%V;A68M?O'9=@0\8U="P0;@7/7Z&N9\,H[GYKW %X>'!B=>HM+#Q
M%U6#=5K.+-Z*9&_3RE5<QYG_5I8NH',!O2L@DU!T_I$Y5N9&C\A,9]^S<,7;
M(_5G4X5D/(KXS9NW/GLMZ6&;DVL@FC&G"4-7F'<$\>R+!$U)G.A_Y31=ODLZ
MW,7RW5K]\)@FV"<)]I%@_T^+]*[%%&:7%LF2(EF"8'\GDL)D=R)D=7$23!N?
MK$65'E0<EU5VF8HG&B_^'3Z-U#=F6JXLNFCGGT^\Y$9K!][*YL%[Z?P4+X&
MQH7MH]^;Z2U/@=/]/*9D^:\H_P)02P,$%     @ !8%02M@&;XWA 0   04
M !D   !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL=53;;IPP$/T5Y ^(P<LN
MFQ4@91-5K=1*JU1MG[TP7!0;4]LLZ=_7-H12XKQ@S_C,.3.#Q^DHY(MJ '3P
MREFG,M1HW9\P5D4#G*H[T4-G3BHA.=7&E#56O01:NB#., G# ^:T[5">.M]%
MYJD8-&L[N,A #9Q3^><,3(P9BM";X[FM&VT=.$][6L-WT#_ZBS067EC*ED.G
M6M$%$JH,/42G<V+Q#O"SA5&M]H&MY"K$BS6^E!D*;4+ H-"6@9KE!H_ F"4R
M:?R>.=$B:0/7^S?V3ZYV4\N5*G@4[%=;ZB9#1Q244-&!Z6<Q?H:YGCT*YN*_
MP@V8@=M,C$8AF'+?H!B4%GQF,:EP^CJM;>?6<3I)XCG,'T#F +($')T.GH1<
MYD]4TSR58@SDU/N>VE\<G8CI36&=KA7NS"2OC/>6D^,AQ3=+-&/.$X:L,-&"
MP(9]D2 ^B3-Y%T[\X3MOACL7OENKWX=^@MA+$#N"^+\2DTV)/LS1+[+WBNP]
M!/<;$0_FHTH.7I&#AR#:B/@P'_0[\8HD'H+=1L2'B3<B>'4%.<C:#9\*"C%T
M;O!7WF6^'XB[PO_@T^/PC<JZ[51P%=H,@KNNE1 :3"KAG>EJ8]ZCQ6!0:;M-
MS%Y.4SD96O3S@X.75R__"U!+ P04    "  %@5!*F.>;Q;D!  #1 P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6QU4^UNVR 4?17$ Y2$I%T2V9::
M5M4FM5+4:=MO8E_;J& \P''[]KU@U[-:[P]P+^><^\$EZ8U]<36 )Z]:-2ZE
MM??M@3&7UZ"%NS(M-'A3&JN%1]-6S+461!%)6C&^6MTP+61#LR3Z3C9+3.>5
M;.!DB>NT%O;M",KT*5W3#\>SK&H?'"Q+6E'!3_"_VI-%BTTJA=30.&D:8J%,
MZ>WZ<-P&? 3\EM"[V9F$2L[&O 3C1Y'254@(%.0^* C<+G '2@4A3./OJ$FG
MD($X/W^H/\3:L9:S<'!GU!]9^#JE.TH**$6G_+/IO\-8SS4E8_&/< &%\) )
MQLB-<G$E>>>\T:,*IJ+%Z[#+)N[]<+/A(VV9P$<"GPB[&(<-@6+F]\*+++&F
M)W;H?2O"$Z\/''N3!V=L1;S#Y!UZ+QG?7R?L$H1&S'' \!EF/2$8JD\A^%*(
M(_]"Y\OTS6*&FTC?S*/O_R.P71381H'M3&#'/U7X%<+W-Y]BL%E+-=@J#I,C
MN>F:.,@S[S2OM_$-V3_X,.Q/PE:R<>1L/#YL;']IC =,976%$U3C_YH,!:4/
MQV]XML.4#88W[?B!V/2+LW=02P,$%     @ !8%02B/9/:"Y 0  T@,  !D
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
MGDO>N.BURE):D*L76C&G!4-WF'1#$*>^6="8Q8G^1Z=Q>A;-, OT;$]/\KC
M(2IP" *'?TK,;DJ,80YQDSQJDD<$\AN3&.;^QH3L+DZ"[L*3-:A6TQ#:91?=
MNN*)AHO_"U]:ZBO3'1\,NBCKGD^XY%8I"RZ5Y,[ETKLNWA8"6NNG#VZNE[>\
M+*P:US8EV[^B^@-02P,$%     @ !8%02ASY9"KI 0  9@4  !D   !X;"]W
M;W)K<VAE971S+W-H965T-#$N>&UL=53;CILP$/T5BP]8@TE"&@'29JNJE5HI
MVJKMLP/#16MC:INP_?O:AE#*>E^P/9S+C&$F'85\40V 1J^<=2H+&JW[$\:J
M:(!3]2!ZZ,R;2DA.M3G*&JM> BT=B3-,PO" .6V[($]=["+S5 R:M1U<)%(#
MYU3^.0,38Q9$P3WPW-:-M@&<ISVMX3OH'_U%FA->5,J60Z=:T2$)518\1J?S
MT>(=X&<+HUKMD:WD*L2+/7PILR"T"0&#0EL%:I8;/ %C5LBD\7O6#!9+2USO
M[^J?7.VFEBM5\"38K[;4318< U1"10>FG\7X&>9Z]@&:B_\*-V &;C,Q'H5@
MRCU1,2@M^*QB4N'T=5K;SJWCK'^G^0ED)I - 4]&+O./5-,\E6)$<KK[GMI/
M')V(N9O"!MU5N'<F>66BMSR.DA3?K-",.4\8LL)$"P(;]<6"^"S.Y V=^.FQ
M-\/8T>,U/7K'?^<5V#F!W7\E'C<E^C ?_"9[K\G^K0 )-R8^S#N5'+PF!X\
MV9CX,+'?)/&:)!Z!W<;$A]G[38Y>DZ-'X+ Q\6&2C0E>_><<9.TZ7*%"#)V;
M+JOH,D0>B>N3?_!I GVCLFX[A:Y"FVYS/5$)H<&D$CZ83]>8H;<<&%3:;A.S
MEU/K3P<M^GFJX66TYG\!4$L#!!0    (  6!4$K"8!AGW $   $%   9
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
MVR;PF< 7PFV,PZ9 ,?,'X421&1R)F7K?B_#$^R/WO2F#,[8BWOGDK?=>B^3
M,W8-0C/F-&'X"K-?$,RK+R'X5H@3_X_.M^G)9H9)I"=K>I)L"Z2; FD42/\I
M,7E7XA8F?1>$K7JJP31QFBPI<>CB)*^\R\#>\?@F?^'3M'\3II&=)1=T_F5C
M_VM$!SZ5W8T?H=9_L,504+MP_.C/9AJSR7#8SS^(+=^X^ -02P,$%     @
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
MSDNP^WJ9>R_!_@ME^C"[3TG(ZNYQD+6;.H4*,71NXE?>9;!O0G=WW^'3J_!
M9=UV"IV%-A/@[FDEA 8C97-E6MZ8AV@Q&%3:;G=F+Z=QG PM^OFE(<MSE[\"
M4$L#!!0    (  6!4$KIN9Z8\@$  .8$   9    >&PO=V]R:W-H965T<R]S
M:&5E=#4R+GAM;'U4VXZ;,!#]%<0'K+F532) VB1:M5(K15NU?79@N&AMS-HF
M;/^^OA"6$+HOV#,^Y\P%CY.!\5=1 TCGG9)6I&XM9;=#2.0U4"P>6 >M.BD9
MIU@JDU=(=!QP84B4H,#S8D1QT[I98GPGGB6LEZ1IX<0=T5.*^=\]$#:DKN]>
M'2]-54OM0%G2X0I^@OS5G;BRT*12-!1:T;#6X5"F[I._.T8:;P"_&QC$;._H
M2LZ,O6KC6Y&ZGDX(".12*V"U7.  A&@AE<;;J.E.(35QOK^J/YO:52UG+.#
MR)^FD'7J;ERG@!+W1+ZPX2N,]7QQG;'X[W !HN Z$Q4C9T28KY/W0C(ZJJA4
M*'ZW:].:=1CUK[1U0C 2@HG@QY\2PI$0?A"B3PG12(@6!&1+,;TY8HFSA+/!
MX?;O=EA?(G\7J>[GVFF:;<Y4>X3R7K)PNTG010N-F+W%!#.,/R&04I]"!&LA
M]L$=/;@-<+A'A O(<042KB<1KM89&GXXKV'SGRJB58'("$0WC=HN&F4QL<&T
M-DC\&'F>MZCW'J?F='N'.Z[@XEN<31S-_C8%7IE)$D[.^E;JILV\T[ ^!?JV
M+/Q[-<1VYCYD[ OP _.J:85S9E+=17-C2L8DJ#2]!S56M7IT)H- *?7V4>VY
M'3UK2-:-KPJ:GK;L'U!+ P04    "  %@5!*CEB&G(\"   6"0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970U,RYX;6R55EUOVC 4_2M1WM?$'W&@ J0"FC9I
MDZI.VYY=,! UB3/;0/?O9SMI&N)+V[W@CYQ[[KDGP=>SLU1/^B"$B9ZKLM;S
M^&!,<YLD>G,0%=<WLA&U?;*3JN+&+M4^T8T2?.N#JC+!:<J2BA=UO)CYO7NU
MF,FC*8M:W*M('ZN*J[]+4<KS/$;QR\9#L3\8MY$L9@W?BQ_"_&SNE5TE/<NV
MJ$2M"UE'2NSF\1VZ72/B CSB5R'.>C"/7"F/4CZYQ=?M/$Z=(E&*C7$4W XG
ML1)EZ9BLCC\=:=SG=('#^0O[9U^\+>:1:[&2Y>]B:P[S>!)'6['CQ](\R/,7
MT164Q5%7_3=Q$J6%.R4VQT:6VO]&FZ,VLNI8K)2*/[=C4?OQW/&_A,$!N O
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
MLFQ2&U-\:D-N4[&Y;NS3<]-][>RWNKS'==EHRM/J\I+:XOJFW/H_4$L#!!0
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
M^8)S!=HQ>-*Y2GT)C@,&A3+=M>Z+_BKH!XJWPRV'QJLV^P-02P,$%     @
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
MO_JCT!&:7<Y-"YUL>.<)N.S]3^'ND!N]%;PV,,C%W#.=G#A_,\&W\]X/3$'
MH%+&@>KA#L_ F#'29?R9//T9:1*7\X?[%]N[[N5$)3QS]KLYJWKO9[YWA@N]
M,?7"AZ\P]4-\;VK^.]R!:;FI1#,JSJ3]]:J;5+R=7'0I+7T?QZ:SXS#Y/]+<
M"7A*P',"'GL90;;RSU31LA!\\,2X]STU?W&XPWIO*K-HM\)^T\5+O7HO21(6
MZ&Z,)LUAU."%)H[268.T_PS!3@BV!M%_$.PVB)P&D34@UJ"S!C@(DU69HRA9
MB$A 8C<F=F)B%R9=8;:B* HB-X8X,<2%R588ARA,/N@F<6(2%R9?8;:B,",?
M=),Z,:D#@X,59BL*TXBX,9D3DUF'>'F&HO4)R+:4.,_<E-Q)R3>4D. 5)=^<
MLY DP?I"H,4-- _<#RJN32>]$U?Z,MLK=^%<@78,GG3)M7Y3YX#!19EIJN=B
M?%G&0/%^>C31_'*7_P!02P,$%     @ !8%02LZ_:3K] 0  O 4  !D   !X
M;"]W;W)K<VAE971S+W-H965T-S,N>&UL=93;CILP$(9?!?$ :S#G")":K5:M
MU$K15MU>.V02T!K,VD[8OGUM0Q %YP:?_OF_&1L['QA_%S6 =#Y;VHG"K:7L
M=PB)JH:6B"?60Z=6SHRW1*HAOR#1<R G$]12A#TO1BUI.K?,S=R!ESF[2MIT
M<.".N+8MX7_W0-E0N+Y[GWAM+K74$ZC,>W*!7R!_]P>N1FAV.34M=*)AG</A
M7+A?_-T^TWHC>&M@$(N^HRLY,O:N!]]/A>OIA(!");4#4<T-GH%2;:32^)@\
MW1FI Y?]N_N+J5W5<B0"GAG]TYQD7;BIZYS@3*Y4OK+A&TSU1*XS%?\#;D"5
M7&>B&!6CPGR=ZBHD:R<7E4I+/L>VZ4P[3/[W,'L G@+P'(#'6D:0R?PKD:3,
M.1L</NY]3_01^SNL]J;2DV8KS)I*7JC96QG%08YNVFC2[$<-7FC"()DU2/G/
M$&R%8&,0_ <)[0:!U2 P!I$QZ(P!]OQXE>8HBA>BU,=V2FBEA#9*LJ)L15'@
MV2F1E1+9*.F*LA5%86"GQ%9*;*-D*\I6%$4/#C:Q4A(+!7LKRE;DIP\HJ962
M&H-P^?L$Z\-/-Y 'AY)9$=D&X4=XA<@V_Q>.<;:BH,7%T^_:3\(O32><(Y/J
M#IN;=F9,@C+TGE2ZM7I*YP&%L]3=1/7Y^*", \GZZ:U$\X-=_@-02P,$%
M  @ !8%02K/P9&?B 0  J00  !D   !X;"]W;W)K<VAE971S+W-H965T-S0N
M>&UL=53;CILP$/T5Q'O7X 221H"TV=6JE5HIVFK;9P>&B];&U#9A^_?UA=!<
MW)?8,YPY9X[C<39Q\2Y; !5\,-K+/&R5&G8(R;(%1N0#'Z#77VHN&%$Z% V2
M@P!2V2)&$8ZB%#'2]6&1V=Q!%!D?%>UZ.(A CHP1\6</E$]Y&(?GQ&O7M,HD
M4)$-I($?H-Z&@] 16EBJCD$O.]X' NH\?(QW^]3@+>!G!Y.\V ?&R9'S=Q-\
MK?(P,@T!A5(9!J*7$SP!I89(M_%[Y@P725-XN3^SOUCOVLN12'CB]%=7J38/
MMV%004U&JE[Y] 5F/TD8S.:_P0FHAIM.M$;)J;2_03E*Q=G,HEMAY,.M76_7
M:>8_E_D+\%R EP+LO#@AV_DS4:3(!)\"X<Y^(.8OCG=8GTUIDO8H[#?=O-39
M4Y&D289.AFC&[!T&7V'2!8,T_R*"?2)[["'8^ E6WBY7EF!U1;#U$ZR]!&M+
ML+XB^'QCTV%2B^DM9H73*(K\.HE7)[G7V40W.@Z37.BLD__*I%Z9U",3W\BD
M=W8^X6U\+X0NK@H#T=@AD4')Q]X.Z$5VF<-';*_:/[@;XN]$-%TO@R-7^L+:
M:U5SKD"W$SUHPZU^-Y: 0JW,=J/WPDV/"Q0?YH<!+:]3\1=02P,$%     @
M!8%02E:E4[O^ 0  J 4  !D   !X;"]W;W)K<VAE971S+W-H965T-S4N>&UL
MC53;CILP$/T5Q >LN22!1("TV:IJI5:*MFK[[)#AHK4QM4W8_GUM0RB;3J5]
MP9[AS)DSMF>R4<@7U0!H[Y6S3N5^HW5_($25#7"J'D0/G?E3"<FI-J:LB>HE
MT(L+XHQ$0; CG+:=7V3.=Y)%)@;-V@Y.TE,#YU3^/@(38^Z'_LWQW-:-M@Y2
M9#VMX1OH[_U)&HLL+)>60Z=:T7D2JMQ_# _',+ !#O&CA5&M]IXMY2S$BS4^
M7W(_L(J 0:DM!37+%9Z ,<MD=/R:2?TEIPU<[V_L'UWQII@S5? DV,_VHIO<
M3WWO A4=F'X6XR>8"]KZWES]%[@",W"KQ.0H!5/NZY6#TH+/+$8*IZ_3VG9N
M'6?^6Q@>$,T!T1(03;5,B9SR#U33(I-B].1T^#VU=QP>(G,VI76ZHW#_C'AE
MO-=BFT09N5JB&7.<,-$*$RX(8MB7%!&6XAC]$[Z)$YP@1C7&CB!^HS'&"38H
MP<81;-X0;.Z*G# [A^D<)DZ"(,#3;-$T6R3-%B?8H02[]Q>:H 0)HF!W5RB&
M^<]UI&B2%"%(<8(]2K!_?YFFX=%7&R :]O?/%@&E]Q=*5HW"0=9N1"BO%$/G
MYM/*NXRAQ\@UVE_X-,.^4EFWG?+.0IMV=4U5":'!: D>S-MHS-A<# :5MMO$
M[.4T.R9#BWZ>BV09SL4?4$L#!!0    (  6!4$JZB_0)E00  !X8   9
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
MSL?+<%Q(UD_W/)H_-N5?4$L#!!0    (  6!4$ILA*X2"@,  /L,   9
M>&PO=V]R:W-H965T<R]S:&5E=#<Y+GAM;)5776^;,!3]*XCW%OP!2:HD4E,T
M;=(F59VZ/=/$25 !9^ DW;^?;2@E^-"U+P$[YQ[?>XP/E_E95L_U7@CEO11Y
M62_\O5*'FR"HUWM1I/6U/(A2_[.559$J/:QV07VH1+JQ044>T#",@R+-2G\Y
MMW/WU7(NCRK/2G%?>?6Q*-+J[TKD\KSPB?\Z\9#M]LI,!,OY(=V)GT(]'NXK
M/0HZEDU6B++.9.E58KOP;\E-0ID)L(A?F3C7O7O/E/(DY;,9?-LL_-!D)'*Q
M5H8BU9>3N!-Y;IAT'G]:4K];TP3V[U_9O]CB=3%/:2WN9/X[VZC]PI_ZWD9L
MTV.N'N3YJV@+BGROK?Z[.(E<PTTF>HVUS&O[ZZV/M9)%RZ)3*=*7YIJ5]GIN
M^5_#< !M V@70.)W U@;P-X"^+L!O W@@X"@*<5JDZ0J7<XK>?:J9GL/J7F*
MR W7ZJ_-I!7;_J?EJ?7L:1E3-@].AJC%K!H,[6%(AP@T>[<$14NLJ!-.+Q>X
M<Q%L $D A.$D&*R3V7AV42?'!!P2<$O +PBB@5 -)K:8TF*NV&P:AN&@7H"C
M(7%P"<#QN ^[R#N">4<@[Q@3Q) @_KAR$T@P 1E,!LHUF*A7*9NXNKDH&L:N
M;(",CJHVA3E//[#;4V<9O-L !W<;X/C(3LU@TC.0]!03D!"[0?CQS28CAD)
M%K.AHQ!0*P/:(2";NH]&@H!D+'/H4[>$NIFSD:>&8)<AG[ 9@GV&(*-Q].-.
MM80!]0", ^U<V!6G(UECER' 9MC(6X)@GR&?,!J"G88@JW&T RX"O ; R(0"
M\0!N[*'!7D. V; Q^?'))S-7N['W(\5'GX8@"S[0K@7UBQWJ]G](\B[D,E?L
M,11X#(M&*/!AI_03BN'#3AG((AXJQMQW>$0B]WE#0'"F$X"C?.*^WH)>!UB(
M:F>[Z]I;RV.I3"/5F^TZ^%MJ.LC!_$IW]DT?_D;3?!;\2*M=5M;>DU2Z/[5=
MY%9*)72:X;7>W;W^$ND&N=@J<SO1]U73CC<#)0_MIT;0?>\L_P%02P,$%
M  @ !8%02C;#H6]9 @  ?@<  !D   !X;"]W;W)K<VAE971S+W-H965T.# N
M>&ULE57;CILP$/T5Q'L7,)= 1) V5%4KM5*T5=MGATP"6H.I[83MW]<VA"7@
M5.D+V,.9,V<&>R;M*'OE)8"PWFK2\(U="M&N'8<7)=28/]$6&OGE2%F-A=RR
MD\-;!OB@G6KB(->-G!I7C9VEVK9C64K/@E0-[)C%SW6-V9\M$-IM;,^^&EZJ
M4RF4P<G2%I_@.X@?[8[)G3.R'*H:&E[1QF)PW-C/WCKWM(-&_*R@XY.UI5+9
M4_JJ-E\.&]M5BH! (10%EJ\+Y$"(8I(Z?@^D]AA3.4[75_9/.GF9S!YSR"GY
M51U$N;%CVSK $9^)>*'=9Q@2"FUKR/XK7(!(N%(B8Q24</VTBC,7M!Y8I)0:
MO_7OJM'O;N"_NID=T." 1@<O^J>#/SCX[PZ!3KY7IE/]B 7.4D8[B_5_J\7J
M4'AK7Q:S4$9=._U-9LNE]9)%_BIU+HIHP&Q[#)I@O!'A2/8Q!#*%V**%.[H-
MD"\1/C)'\(U)^-K?OTDB-A,$1H) $P03@@ ELRKTF$AC&HWY$"(/!>8XH3%.
MN(SC>[,X/2:\B1,%*)[5+/PO.9%13K20$_F)F6!E)%@]7OC82! _4/AX41#D
M1K-J+#'W3E!BU)$L*Q&X,QV)Z<?,[DIN *&568GGFF^D:] R/R0#Z";A9'Y$
M#"#DWKFZWIWVX#UP8@?0]"S.>TANP$S_8J_%F72M&MA)-WAN%?3<"-4?)M9Q
MB#PCU?5F]JT:+KH;OM/TD^D;9J>JX=:>"ME3=><[4BI :G2?9*5*.0S'#8&C
M4,N57+-^(O0;0=MAVCGCR,W^ E!+ P04    "  %@5!*Y]#^JC$$  #I%
M&0   'AL+W=O<FMS:&5E=',O<VAE970X,2YX;6R=6-MRFSH4_16&#PA(@ 0>
MVS,A:1HW2>OIF=,^$UNVF0+R 1SW_'VYR-@26XY2/]@@K[4OVC?0],C+7]6.
ML=KZG6=%-;-W=;V?.$ZUVK$\J6[XGA7-/QM>YDG=W)9;I]J7+%EWI#QSL.L2
M)T_2PIY/N[5E.9_R0YVE!5N65G7(\Z3\/V89/\YL9)\6OJ?;7=TN.//I/MFR
M?UC][WY9-G?.(&6=YJRH4EY8)=O,[%LT6>*P)72('RD[5A?75NO**^>_VIO%
M>F:[K44L8ZNZ%9$T/V_LCF59*ZFQXS\AU!YTML3+ZY/TA\[YQIG7I&)W//N9
MKNO=S YM:\TVR2&KO_/C(Q,.!;8EO']F;RQKX*TEC8X5SZKNVUH=JIKG0DIC
M2I[\[G_3HOL]]O_00-!@ A8$/!!\=)7@"8(W$+!_E> +@F]*" 0A,"4002 #
MP7.O$J@@4%,-H2"$IH1($"+3;47N*7+N60>]3AF"?8XV?D?+*=SH'&]\?:_0
M*>#(,Z:<0HY\8\-.04>!,>44=G2..XJZ.NR+I*NZ^Z1.YM.2'ZVR;QS[I.U/
M:-*P&N'M:E?'W9]-Y57-ZMN<^'CJO+62!";N,?@"$Q B8Q9C#!H03F/"8 <&
M[8CQB$]\3]9Q!V%\&7,/80(9\PG"*/X\0!@J8SY#F%#&/$*82-D[ ]^_ )C
ME3%/$ ;)F&<(H\3[!<(H]GR%,$HLOD$8)19+"$/@S/'@#/8Z"9XD@<(2?%B"
MWTGP)0E*'.,>$W28HL/X;OM10ODN3+(G@.T) 'N4G(E[#+U0Y-ZX2K 7[X D
M6PAL"QG;0A2G8S)R&KOBHU35&(E\$+DPEOG%6.:SL<P7$YG2[E%X]RBP>TJ0
M8CK6I>S%-81D10A;$0)6*#6_#$UU1+"."-"A](P8PB@]8W$=(UG2/BV (\T%
M9"A]9R% Y+)2*?*C<7X!2(2)%Z 1] F !A&AGC9MD&XJ(\ %943% A3)Y4T5
M3^_,8/=FL$\"IO04ZDH?)8$?_H;T^6](CQ\DR<& 'TUN$0:"0=5\PJ/0XP"C
M*Z'7C#/D =I"C0S-0$.^^4Q$FB&$@"E$U"<7 9)::I.H>J<U4P8!8X:J(P&-
MN[(7!'I=FIZ,H*8\:@]T7/3$);Y>FZ;W(J#Y4ET":GHKBLS#B35-$0--D:H/
M^GC<OT@8(6F/Q2.K*?(;@$2CJ2N[H&F*&&B*HR01H,LD";Q(KTM3\QBJ>35)
M\+CF/>2&^I3$FIK'0,U33R-#4_/X S6/-36/@9I7D^2K 'TDH)JJQU#5:X8]
MUE0SIA]P6U.C&*K14;!#8[>=B[?OG)7;[LRLLE;\4-2MJ1>KP[G<+6[?WI7U
M&$T>$;"^0).G_M3M++X_!'Q)RFU:5-8KKVN>=R_V&\YKUGC@WC2!V[%D/=QD
M;%.WE[2Y+OO#M_ZFYGMQL.@,IYOS/U!+ P04    "  %@5!*7\)$OFH#  #V
M#@  &0   'AL+W=O<FMS:&5E=',O<VAE970X,BYX;6R-E^UNFS 4AF\%<0'!
MQ]C85$FD-<FT29M4==KVFR9.@@HX ]IT=S_S403V(>N?\)'GG-?'/KS@Y567
MS]59J=I[R[.B6OGGNK[<!4&U/ZL\J1;ZH@KSSU&7>5*;R_(45)=2)8<V*,\"
M2D@4Y$E:^.ME>^^A7"_U2YVEA7HHO>HESY/R[[W*]'7E@_]^XS$]G>OF1K!>
M7I*3^J'JGY>'TEP%0Y9#FJNB2G7AE>JX\C_!W8[R)J E?J7J6HW.O::4)ZV?
MFXNOAY5/FA&I3.WK)D5B#J]JH[*LR63&\:=/Z@^:3>#X_#W[Y[9X4\Q34JF-
MSGZGA_J\\J7O'=0Q><GJ1WW]HOJ"N._UU7]3KRHS>#,2H['76=7^>ON7JM9Y
MG\4,)4_>NF-:M,=KG_\]# ^@?0 = JBX&1#V >$0P**; :P/8$- "#<#>!_
MK8"@J[V=S&U2)^MEJ:]>V?7#)6G:#NZX6:Y]<[-=G?8_,Y^5N?NZCD2T#%Z;
M1#USWS%TPH@IL\$8.66V&!-/F1W"2#(P@:EE*(BB!=$V03A) 'B"$$T0M@G8
M) &UJNT8WC)%RU!<@J$2#)$(+0F,8;@(1T4XDH!;(A@3X2(1*A(A">S6P!B)
MBPA41" )K+[9($P\TS<2%9%( K!$.B8:+7L8,D*(U><NQB)PL)V+42G'V&34
M,3KJ&!FUW:P=(T8Z0!>1U0I;A&*+T*)V",47L<"'# 2W'((,VF[_'AK/#N>\
MF1Y[MA&2A;$4[H0C9 A2LMDYAQG/!*0 9A< CD> !$#:!2,C2K$"$-*@8KX
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
MFS;DFL5)" W&XNS!G'YE[IMQP>"D[30S<]EWW7ZA13M<*&2\U8J_4$L#!!0
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
MHXX3OSN1* WXP;3CE'8Z)C6(1($='\<(XQ1A;@7D^T$B%O"#^<4IOS0+=+'
M6!+Q#?M;C!)!4:*9/QH%7<)IE08+3&!""$ ()@,F MMQ<4/"N/P$J"SF3YH"
M+'F8#J]8!2Y! :J+!;9J E>72&[(&!>. #7!O(GR0= -'^-**+J@7PNZ4KB3
ML:0,_[S-+; 9>M6X:@4J2/_<JA>-=K6IFRQ CE1YQR0ZTZ%K&9FZ>0.D")3&
M3%01QH9 V @,"(FQ(6_ AL38D& %0DYG@,AM)P-^,#,D8 8/<%9B9L@;F"$#
M)VGH*(UD"T1)8(J3F!<2\(('I@2)>2%OX(7$O)" %]R?$B0X(!)I8L 63-+:
M%HHG/(Q3B6M<@AKG@0E$XNJ1YO.O1^'J470O0(Y2-HHN](U)*".W0)CJJ;-2
M7(\*G._X9R,;15?Z@:#H?#\=%"Y>A8HWL+A4N'C5#<6K</$J,.%S?WVJZ(3O
M\@V?IZC F34X2/;WB9M>-'R[< \8#3[9M%_I?L^JU\.QGCV535,6W3>:E[)L
MK+,9?W$V]S;;76]R^]*TEZF[KBY?QRXW37GJO_Q%U\^/JW\!4$L#!!0    (
M  6!4$J4;-DJX@(  +T*   9    >&PO=V]R:W-H965T<R]S:&5E=#@Y+GAM
M;(V6;6^;,!#'OPKB?0M^X*E*(C5$TR9M4M5IVVN:. DJ8&8[2??M9QM"B3FJ
MO@FV^=_=[RZVN<6%BU=Y9$QY;W75R*5_5*I]" *Y/;*ZD/>\98U^L^>B+I2>
MBD,@6\&*G36JJP"'81S41=GXJX5=>Q*K!3^IJFS8D_#DJ:X+\6_-*GY9^LB_
M+CR7AZ,R"\%JT18']I.I7^V3T+-@\+(K:];(DC>>8/NE_X@>-H@8 ZOX7;*+
M'(T]D\H+YZ]F\FVW]$-#Q"JV5<9%H1]GEK.J,IXTQ]_>J3_$-(;C\=7[%YN\
M3N:ED"SGU9]RIXY+/_6]'=L7ITH]\\M7UB<4^5Z?_7=V9I66&Q(=8\LK:7^]
M[4DJ7O=>-$I=O'7/LK'/2^__:@8;X-X #P8H_M" ] ;DW8!^:$![ ^H8!%TJ
MMC:;0A6KA> 73W1_;UN8780>J*[^UBS:8MMWNCQ2KYY7*4X6P=DXZC7K3H-'
M&C0H NU]"(&A$&L\,<>W ?*I@CB2#2 A, 0!\R36GMSDF<(.*.B 6@?TQD'F
M%*K3Q%;3=(6B-')4.:"**0F=A %5FD881HY Y&B*[(99=YIH%.8N1LX&R*<B
MDJ0.[U03AS,%CD':&*!%#FT\"9(BZM9W*J(9C1U<0)1&%.9-0-X$X'5V[3J9
M1,$HRYRL<DB5C& Z8D!%"9I!3D'D='H(YDY1!CK(/G$(LNF.(J'[3^: "D?4
M46U 59S!R"B$;[CP$\>@%XTCH3!V-DT.J.Y0'#G0@"J9(9ZYD]$GCD(ONF4)
MH]1%GLIPY-XUD*^4S$&#M_PCP@ T=:$QM#DP<:$!&::1>X9!;R2;VQ[PAP$1
M@#MRN0EP&V?QI-B +,.9>U4",AQF*'*X@]$WO&;B8/LCZ6WYJ5'F4SA:'7JP
M1VQZ &=];7HSVQN\N^D:NQ^%.)2-]%ZXTAV&[0/VG"NF*<-[7=>C[B6'2<7V
MR@P3/19=0]5-%&_[9C$8.M;5?U!+ P04    "  %@5!*?CWM7(P"  "@"0
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
M6*L5:'XPJ$1L%PBM J$6" <"R2C3#A-I3#TJ99?I(\3 1&0U$5E,+.P"<ZO
M_.-EB*T"\=1!XHW*,,7$R>C4;6TZHV+M+)CP']DF5K.)91/?+K"P"BP^7B[9
M<ZU_J??_<[,VH/MC,;:)[MI"!>RL>S1W<GJIA?HO[J+]/?#LJ[8RBF_4_:#;
MS4VFNUR^878N:^X<J)!-2[>6$Z4"I$/O27HKY'W6+PB<A)K&<LZZIMXM!&W,
MA87Z6S/["U!+ P04    "  %@5!*R-:N<SL#  !9#0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970Y-BYX;6R55W]OFS 0_2J(#S#P+VRJ)%*3:-JD3:HZ;?N;
M)DZ""C@#)^F^_8RAE-A'FRE2P.;=^=V=>9QG%U4_-P<I=?!2%E4S#P]:'^^B
MJ-D<9)DUG]115N;)3M5EILVPWD?-L9;9UAJ5183C.(G*+*_"Q<S./=2+F3KI
M(J_D0QTTI[+,ZK]+6:C+/$3AZ\1COC_H=B):S([97OZ0^N?QH3:C:/"RS4M9
M-;FJ@EKNYN$]NEMC:V 1OW)Y:4;W01O*DU+/[>#K=A[&+2-9R(UN763F<I8K
M612M)\/C3^\T'-9L#<?WK]X_V^!-,$]9(U>J^)UO]6$>BC#8REUV*O2CNGR1
M?4 L#/KHO\FS+ R\96+6V*BBL?_!YM1H5?9>#)4R>^FN>66OE][_JQEL@'L#
M/!B@Y%T#TAN0-P/ZK@'M#:AC$'6AV-RL,YTM9K6Z!'57WF/6[B)T1TWV-^VD
M3;9]9M+3F-GS0@@RB\ZMHQZS[#!XA$$#(C+>AR4PM,02>^;X>H&5CR .9 U
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
M%Q"Z^^/=0:.Z,0*1%(1N I2!&'X?@38I(%P*>B[U (2K<.E+/)ZK#NVM7ES
M(P$.Y%P3Z%"1M)T!]C.%E6,;&E!.^!4/.1#?'PH=GR7:W "[6P11?Y8$FB41
M0HB[B15@_YJ!4$2IA!_:#P!5*4$J%0X72ILB$*Z(FJ8.NOV44ET3 0ZT300Y
MWC<![<F 31EW3C!MRP1"]TX4.-8\ >W+@(U9,:1[VIH)1)#+!7-A.+)::%\&
M;,R*\;[J:6LF$ CP>EH3G!^,K!':F0%;,VY5.R@84XT1LEDE.+);]:YV:?7&
M_'M<[).\=)Y-93=\S;9L9TRE;4YV9\?@H./MY2+5NZH^#>UYT6Z(VXO*'+O-
MOG?YC\/R/U!+ P04    "  %@5!*KFOIG]D!  !>!   &0   'AL+W=O<FMS
M:&5E=',O<VAE970Y.2YX;6Q]5-MNG# 0_17+'Q!SRVZ[ J0L5=1*K;1*U?;9
M"\-%L3&QS9+^?7TAA.RBOF#/^)PS%WM()R&?50N@T2MGO<IPJ_5P($25+7"J
M[L0 O3FIA>14&U,V1 T2:.5(G)$H"':$TZ['>>I\)YFG8M2LZ^$DD1HYI_+O
M$9B8,ASB-\=3U[3:.DB>#K2!GZ!_#2=I++*H5!V'7G6B1Q+J##^$AR*Q> ?X
MW<&D5GMD*SD+\6R-;U6& YL0,"BU5:!FN4 !C%DAD\;+K(F7D):XWK^I/[K:
M32UGJJ 0[$]7Z3;#GS"JH*8CTT]B^@IS/?<8S<5_APLP [>9F!BE8,I]43DJ
M+?BL8E+A]-6O7>_6R9_L]S-MFQ#-A&@AA+O_$N*9$+\37#>)S\R5^H5JFJ=2
M3$CZRQJH?1/A(3;-+*W3]<Z=F6J5\5[RST&<DHL5FC%'CXE6F'!!$*.^A(BV
M0ARC&WKT,4!QBXBC[0CQ9A&QX\?K"/%N6R#9%$B<0/*A"\E5%SSFWF%ZA[E"
M%+>(ZSZ1U;5PD(U[P0J58NRU;<#*NPS)0V2O]<I_-,/CW_J[C)^\'U0V7:_0
M66CS:-S5UD)H, D&=R:WU@S[8C"HM=WNS5[Z)^\-+89YFLGR2\G_ 5!+ P04
M    "  %@5!*1.D;I"4"   9!P  &@   'AL+W=O<FMS:&5E=',O<VAE970Q
M,# N>&ULE57;CILP%/P5Q >L;>Y$!*F;JFJE5HJVZO;929R UF!J.V'[][4-
MBQ(X:;<O^#9G9H[QL8M>R!=5,::]UX:W:NU76G<KA-2^8@U5#Z)CK5DY"ME0
M;8;RA%0G&3VXH(:C .,$-;1N_;)P<UM9%N*L>=VRK?34N6FH_/W(N.C7/O'?
M)I[J4Z7M!"J+CI[8=Z9_=%MI1FAB.=0-:U4M6D^RX]K_0%8;$MD AWBN6:^N
M^IY-92?$BQU\.:Q];!TQSO;:4E#37-B&<6Z9C(]?(ZD_:=K Z_X;^R>7O$EF
M1Q7;"/ZS/NAJ[6>^=V!'>N;Z2?2?V9A0['MC]E_9A7$#MTZ,QEYPY;[>_JRT
M:$868Z6AKT-;MZ[MAY4T&L/@@& ,"*8 \O> < P(9P%H<.92_4@U+0LI>D\.
M?ZNC]E"056@V<V\GW=ZY-9.M,K.7,L=Q@2Z6:,0\#IC@!I/<8C80)ITPR'B8
MC 2@D< 11%<$,<EA@A D"!U!>.,@@PDBD"!:.,AQ/MN* 9,X3.LP(4D36"4&
M5>*E"L$SE7BI@C&&51)0)0%4"$R0@@3I^W<S PFR?^>YR19YWMW,'!3) 9$
M)B 8/O_X_8F2.R5$ !?AO(:6H#"[IP-7"%F62$ZB.Q1PC9#_*!("5PD!RF29
M[1(4IO/SAZ[N*/MH?*/R5+?*VPEMKCMW*1V%T,P0X@=3$I5YIZ8!9T=MNZGI
MR^&R'@9:=.-#A*;7L/P#4$L#!!0    (  6!4$I[>RJBBP(  & )   :
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
MFJV< BN[9N%B>ZRL/&\L:^QTB/^[*L4 B68.*(70;9(X31++)%V<@R*Q3#Y
M>*/8J=,DM4V"Q3DI4LL%0YRZ76#@/M2![8-N! IOW OP_GT!W:<1(CL*N%RX
M$33?&S",@H41F%UG^@7[1OBI:H6W8U+=C.;^.C(FJ5(,'E3I2O5H3H.:'J7N
MQJK/AY=C&$C6C:\BF)[F_"]02P,$%     @ !8%02GLI>7E' @  =P<  !H
M  !X;"]W;W)K<VAE971S+W-H965T,3 T+GAM;)55;:^;(!C]*\8?<!$57QIK
MLMO;94NVI+G+W3[3EE9S41S0]N[?#] :B[39OE3 <\YSSB.%XL+XNZ@(D=Y'
M0UNQ]"LINP4 8E>1!HLGUI%6O3DPWF"IIOP(1,<)WAM20T$8! EH<-WZ96'6
M-KPLV$G2NB4;[HE3TV#^YYE0=EGZT+\NO-;'2NH%4!8=/I(?1+YU&ZYF8%39
MUPUI1<U:CY/#TO\$%^M<XPW@9TTN8C+V=)(M8^]Z\G6_] -MB%"RDUH!J\>9
MK BE6DC9^#UH^F-)39R.K^J?37:598L%63'ZJ][+:NEGOK<G!WRB\I5=OI A
M#_*](?PW<B94P;4356/'J#"_WNXD)&L&%66EP1_]LV[-\S+H7VEN0C@0PI$
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
M.0Z<"R8MAG>R5B<Y2?>+DAV$>DWE>].-D]U"\+,9E8-^7E_] U!+ P04
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
M !L;P0 D02 ,)\'0>;+6GDWF.>. HPYXZX!/''"0J X3MIBRQ0@6XD$"-$B
M! E D X3C()$@H&$!K<3"5$B(4)DQH% '8C;\QVA#J(;\AU9J1A/LTN%C8FH
M#Q979*4K]F.<;(R2C1&R I"-+2*40+(V!E*]AI@0)3Y>[SY"-8(%[UM1[F#R
M-QB( U""@4:U/64\HU#$8DQH#!D3.PX)(&,$Q&&",5 @9ABC@O=(Z UEW(.N
MUS$"LE9X@GFB<ZL"5T?"$,8S%4!P?23\]HHGN/H13/Y@S1-;_UCD6XFS48$?
M1#!S-HHS?Z:Y$5PI"2:5L/9[T(1TR DD;:-( +MQ@OFB/I\AC:LS$;>H@,#*
M15A5A< HYPS21F D%M$,;[PI$+LK(%I@2_Y= +<<&(@)2[X0%)\M#+PW$*PY
M6&I@ZSIC1$#2",I:^PF"FJS]Z98-;Q,4:1-B1E,HKMN4W"X(%!=2B@DI% 1J
MRQ^C 5@4&P1%>013AZ"(F$T=KJ44TU(H"#UHHMD!_+LQ$%P3"0(2-)AAC$LW
MQ?:V4 UZT)6]R>;_D.0J9,H5[Q'4[A&V E!;URVN-N0."G)RU<^4+=X<*-8<
M8.WWH/'VDQ-K:XB@[&6>(*C),N](>Z/382&K0WORKIVM.I>Z.62-1H?3_2-M
M3I=@?&U._=T9_<--]\G@6UH=LK)VGI4V9]?VA+E72DM#TK\W"3W*=#<\Y'*O
MFUMA[JONJ-X]:'7J/T-XP[>0U3]02P,$%     @ !8%02N3I0%;1T0  0%$#
M !0   !X;"]S:&%R9613=')I;F=S+GAM;.R]>7/<5K(G^O>\3X'04X_)"+"Z
M]L7NVQ&T1-NZ5Y8THFQ/QXWY ZP"25A50%V@2A3[TT^NY^3!4E64U=UO7DS,
M7+=( @=GR9-[_O(O5;6+]GGV7_OT1;'/=__V;#$;/(L^;]9Y]6_/[G>[[;=_
M_G.UO$\W2=4KMFD.?[DMRDVR@Q_+NS]7VS)-5M5]FNXVZS\/^_WIGS=)EC_[
MZU^J[*]_V?WU9;'<;])\%R7Y*KK*=]GN,7J5\PA9D4<7T2_7+Z.SY^=_^?/N
MKW_Y,[[$+PZ&T<]%OKNOX*U5NJK_^66Z[$6C01P-^X-I_8__GN2]:+B@/\X:
M?]RO>U%_U/YFRPS_\W66I]&K7;JI_E=C%KJZ#X_;M+&"_L5_U']W"4^OZ(T?
MULE=_:^WR;IJ#..^\2XMLP(W<16]3';-YV1'_I__]M_:5N:&^2&KELDZ^EN:
ME-$/\,OJV)/RW=9G?_A;_3<?RF25Y7?1]>/FIEC7__KBQS?_LV//WZ=W6;4K
M$_CPFV336-Z+MS^^N?J?T8NW[]]U#/ "YES"?%\!O7R._B-]; RQ+\OZ#G3M
MYL7%8'@Q&G1\ZK=TO;[XF!</>72=)E61IZOH557MT[+^PM_2QI[I=&4V[]-M
M4>YHRW;)KKG%\OBOQ1JN9U(^PO37:=EX[$W1\2(]'KV -=X596-/7B?E71I=
M+I<I/ 7/K/CYKCD7FPU<B>M=L?P81]?W29E6T=O]KMK!]88E=+SV;G^SSI9
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
M?B4Y,4>!A4L\-EUU.8[%ZG*TC)%.,@MPQFAQ&0TNV O'P2J,\=:U4YF!^6C
MI9O['.Z <;N%+(SL-K,/-X_"N]S2&TR+-PES)QJ<F6DO#-K5_'>M3OA#Z^2+
MG_A0.-<9@F8$^O6>?G"^7O0?DHE<P"5%,U;3=M\:CYZ]'I+76]%:?#H\N=!N
M,2.#\=I2S (1-0,V,A/#&?D$: 3D*R=_J60S^#1XY"&4K4GU[;G8^#@PW55/
M)N3,Q// U([&EK&+YB85TUARFM02"VP3QX]H9:RKF(VPKDWBVW(U5L:YXQUR
MP:S@'. :LGX 4[HASPU7#CC'@VC)'RE#)]NHPTVV.2.OK\O:#LL/?,HP^3-J
M$1)>7>7&E32^DB!(82:/AH;,]H'>A*ZGI7, HO6X7]_B-'FD7D ;R(Z2=54H
M/Z+-,"X*D63!OCANZ$(1G6P1B&XI909\I*S38:"2HC2LYK,22'H5LD:_,:AR
MYJQRBH$FM\,LD],67P1X*U1'&4*PD'VNZ#0FT&S/MO4(^+$#VX\F^9W;;V 6
MA9C@=$L]\UTW)B5>)-1^DQVKMK?(AR0#(]D!H5=Q:%TGE;.MT9_.90#O?1E
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
M!;R@"@\[Y$&!&UR'>EMF.^_#-RQ('&JM6).\6M%^JQ/O$*BQ>(>\D+=QZ(L
MF1P_4+M/1C?PY2/^EZ]](<DSHS<//)JN.T3#>%64)!7;9\01W31BO0V<SR#B
MWJ2_60O@UFR5\>_W6BQOXD"R.^P&8L ?9[E0&2**?3^D5(M@KL2##0:: AIS
M(1R7D6BGS=D]P\ :J3Q$7DMMVN&;,,E+K.B<BRATI3E!J%^PR+P'U?PIK/SS
M!07&O^4M9-3JEO=%P7 1RH5:IB_HF1[^'_C@*C.5<EQ[8DKYM;4/_&U?F88>
M=092XU^RAPX#MDUS%@)@$2-FGQ3GF#058_GMQ=/N\"9KP0/\4"L=!?M?:[8M
MEU:26:,*4S*$L^P\*7B[W]!Q2+>F,*N5PM"A:*Z$C_I)8NVF9;C6V2D4!%(?
M<1HJ.2FD9GK77DCV5!9-U_^/LNC95V'12*R.34=R 2VX42>#.(6GTT+_93P=
M+7GJ-!DPWB%FQ=)=^E!LX;CF8WCNM32'1);HC0[5R63LC.OFU25#[B.L%\?D
M%&X>@.7CF@X 5X'@R>Z %OXN[H@;7V2+LQ=3T10=TB\L77??(-D2' >SX"P^
M!O<,QL'J4%B6LPA* )G9C\KM.-T<:4K:Y"4\*:-88P,CK$EGUVPJ+*:@)HJ>
MMPCG50QIU+]=^:,+.ZO^%ZI$[ERT1K5FAGWAMADT8>X%6@O ^^B[_)GE3F..
M/3-!AGB *U[=FWI3)F/W&8H(UP:W1I]K;\#1#ZV>%"^OS%$RDP,@0?-UCF?)
MKC*LTZ'/=Z_MJ8QL^(<9V?P+&)FC8H_*P/2\<G WFV+%1QLZ22AVF"SOZ[@W
MFFHCN0<(1"$)^&*KU.PT98*G,J,)><Q,?B$L^2>)<UY$5ZQL41&7BP9JY"1Z
M4WS2-,,\NM) QT\4/#+??V]3.RS+FP27?6T=:DZU"P!1N/PR,65T[%Q$?:SD
M/'#)]VQ);Q$M49%;PMP,S9P(P[O'=%&X!"66,4J,\<"T5!#%'!5928E"NKZ-
MG9]\A1XJB4!KNB/.6*9E,V1\%39_VN$Z-H+)[F):0Y^TT]W3+]7D7V+ ';A4
M1>[3-TW.@V(8E=WW3;R+)^D*DW^9KC 8';#_:O;>"RZJ>4W%,>::#48G7#,T
MGJ@VM*[:NBP@PH9WM@\=?6#7>"015[AW5BLP.C]VGYQ!H3SO1KH2-)%2/#Q'
MT, IL;5%7=)$,I%A,\$2BC4JZ6TKYQG5-RW8/1F>FD-1*V0*_*]V83? VU=I
M+KC25B7R]APZD]2!&5'/%H(4=#XILRZ=CPTEXS/[J@[NG/A&3(J7J&D09AK'
MSD4Y%#?HLVON*'FM%[7=V!Q*@?34XK FJN<#\JR+%76IIBY'KC^PP%AH"8%
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
M3,L6>2- MNGTH,##.*3__45$+K:"+"G*_@*[RQ4H8.3+C(%D [3.XK/U *H
M7 [. 9\R=BKC<F0!;KX #P6OT9&_Y#JSD\RK^AT^@FI^:HCETJ7A8QM**;/^
MQ0.>_TCNO,:O.:7)*D^>E7_;N-W/258-2;,?H7@\FT[ #GGN1-@AV34<18-Y
M=#9$TT=D65.(P=I "(&!0T^Q4.L09FA8C(;3>@BD*=A&@Y&)!."$6=BU2[DA
M3!&_33\TQ%T_\F.Q^',<O;E=)-[ 3!KWX;Q&M%4J\9J2;K08PH,X0?R\B+Y#
M,@_DZ7 B.R4RL$7XS?J@,L"H0_RZ",.&%!ST043[: O+Q3:)Z'?[# U0%I(@
MHZ83D.]HMR\&^//9?#PGNL _3&#H+[@77,C9; 1 XL)X>\C4.7R'&"VC-I3O
M6W7J%:M=F^B=#H .]=<I0\R 93U$=7%WW[AGT0>J%S5W[>!%-']L_VW+[1S,
MXOF$3F#<[\O-C!>@/<!O1O*+T3">S<?T#/VJ3HJ@04[@G@[@+ITWPF#A7[O(
M$Y27,9SZV0S'!PT:+MO9&/\)ZB7<_[,9_M @UED\G<,?,9#:_'#XUSIMCD$!
MAV],6EXT?WH.5 Z*UF1")#H8\Z_Z\0+FBAO$OQ@-)G#WQIZ,+SOHHPY!YHTS
M29B$WY[L1#?T2LF.B+;G\>!C"P6BGAHQX#&20=BZO/]BF0>0^6H.A8^ ;7('
M"I !3W(/^*PB=G78^\(O5[A"&;;VYV+/C;&EW9;KVE9P'6'P'>F+2 YXW#G"
M/H=AI8K8AW_ E$9I?+M?-[,KW1%H5AQ]G=NZILY@1V:BS;&DH-X;Z_J< 9H^
MPE1NV*]/Y^32D:0'P:.O2998KJZMV9^6'+S,[)K=26BODG7:IJ!YA7ZX&-8;
M1T_&K6VCY^.1;1K-OZU]W&>?GO;U07_0:%O=G[1]'0P:^W7%-N'5FCXJG%3F
ML\^>O:HW+CGB]JY[O=^56>'*:W1%?,HV!MKH#V/F),[PJI& 6VO+<P#O5T3;
M4U!_3](H6\B/P6(Z0"F^DL;YW]>[[P;1W[#UX.!B2/\ )GXQDG^-+L;RK_'%
M1/[% K!=JQR0W3O'WC$S]L"@KP2S<88#E%^3>#99$'OF7)MV!XCH374A4,_
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
MSYFLZ1"X5B]?=4Q)\]J"3-."_17V&XVK] $;2S0!%4F,PM].NRDT2/02<[A
M^U IS"@1/AQA6*0T?>6N%BR6P;P9+1I["3;&J-7Z&**15-]-+3WYD@D,QMA7
M8]J<P20>#=O/$WC;8#:HS>&55T&<99MWS.()O45.E99\&;^-?I!0,S;&CL?4
M]7J OOD^=U"=@P0E21V=30<S\O#/X7+-W1;.,;L#^W6.I]1P9(QR:[$8X/_,
M\*=Q/*(2.DYR\Q\\0Q$YH%K&>#+6?TRQKI$_"!LVG6)@ <N 9NZ#9RC6L:)J
MB%YZ=."?TUA#KHN$-4SY-Z/%@NJ&8!4+:@D$AN"0D.A!Q"X&DWK[WJ*DT'S;
MJ8 XTZQ6V%?8X9SX=@/-R^4G,YR&V):(('2+ZC_#C&7.2;/?8;<N/5-B\=?[
M&PR="*P]N63:'8+AE+)<+C_)4S?!&JK'4R9")I%&PHG3!T 5!==6L$!^A6HU
M)GWX#.F$RC3WU X#-],YFX:]R8'^7"+H6DX!@[_<JBO-O3; WERNZB$3A,P!
M]!"-%W-0ON9.J:#L1-D7EDN^V#5P-JPT'1._[C%Q&_AJF,-?E)3 GMU*2CD9
M+]XUQKL.NCW<",G"Z_9\(*MHV.-UY?_Y&+C<U/:#183PZ5!=8%T^ZZ0"?9=<
M]SZIE%WQ7H)(*@BC2S^VXY-H"K2/;=?@@.CX6&O N+[8@H?'#,8S>DB-%,1=
MCZ>_38#R75V/H]E+(HP<FY$XW[[[H^;4>+KT[24<A7:4!+1SA59>3=:5+]34
MD>-:K?+)C-J("8<_AEZ&DY8SPF"7_P_S5;^8U-=BZW!J#0_:_#MT=FYP)7OR
M:IR1<#@;+-Q_42E8(ACU#GX!/]?'>\FY0'4CW-VRUBP\$XTXF[4,RBTQ5G9H
MB6FXLO@AS1#^P\\Z(PS^7^M>=PKE 08'![BO XP\?B!'T>]%*;$CV6;D.2TL
M-@"&R:B]XB;)63TVG)FKE- ;$R&X&SOT:\S^,Y!J1:$_*]#0PX0GE5:$1(YW
M,]]OTA(5V]_W95:MU(^4E(2B@M-Z*,HUI\(A#S=]7-'E3XNKOULUEQ-[>4!Z
MZ#UP!W']-$4"3)-%@A<C[*GG7\G+KX(5EUP58=  .]A>.\QN8IA<XEG1HP1?
M&:;.+M.+=9PVI:;RX=:-6L??FO<_@DL?U!W<%%@GBAM<Y.1:TZT)L)>L:/'Y
M5V@IA@F#+1^$U<&=C$'K44-H@52&_77(FXTI!RYEU^)6<L9?:-^\TL<"+X'4
M\%UZ?*=K06JNHE^V%#S!MR[ZBSAZ]LIV>8>S\U8P99Q];Q/<S)#Q,]/90,I,
MQ>STD ZM,^#8<V:ZOTP%Z5_F)EFZ%348K2K+B*IF6(!+M%H<AW($\A>'3M'#
MNEHJ$(ON]MF*<J4<7.W)7_1.$DS+O,BP 0]Y]CK1),1)I,G;%>*KR+H]4R,?
MJX?.A>]RL)' ??W!^WZ/'*=D-%3-PB9U :\%NFL3@BAOA<*E:K>X38@RSN-J
MO^1#13-N/E]XMZ>]6Q4R\@8%GW 38%9N%SG[P9, 5<*>0 >FE-PTLU8P;[<N
MER=:";GXQF4.6D?3E'U%WZUYCZX:(7)2Q3+?&0%J<WGFP264<]N%!ZRU,:Y2
M&N2A/5F]TA-SY7>A/626'- [:M<+4&@#-_=\-FCU5K-I[;=%I!EK@WQ__>9D
M#.78\7AC+S,':!A"Q1S86B[NY61O[9H7V=9:'43Z?#$T*G<8_)0-G+3%E6O(
MB>@0+S^E(L6M&@:D)X4VC,24M4XU/KD_)@>]6C]V *%B@N&*)E21WC%:1V L
M!5>EUCB"U"AI_U%1]3,!\80\Y(RL]<87-0G@JWS1ICM):&(0#Q>#+UXHM_3%
M@$EA$&P5O3'Y;.IHB,!4Q_Q:&\MI/UD9&#G$")8<?R9E@D.?UG5[QBZ5\S]
M)1.@D>%B^@\^L9!&!BTG]4\@D%$+QM?_WPED3EZT+R</:L$=ST#5;*LMZ&9_
MOL[P"/M#7CR-1Z(D=$S"I7DH8W\^B4>2)F3%&NX:]324LS<=D-@/WQ^R RGH
MJ,4:BSH?[/N!ZXBQU@*C[)NOM@63>*[1XO9KVMP";+G>_]=M@?>V'5I>((O9
MS^: I_GL9WTOB"?3X2$R.,6E5B^)=K0:L@H2N]6^DF";E$-U72/CQ7!X]6XH
M28V)97E"$)6O.\<")C*&V#W7U$?\@ZPYL^EI*R1;%/$Z1]")=:PA9K6?*L0-
MA#BG4=;RV^TJEO55N,9T##;BM?7&NFX:$/.+B8/;04J4GURF3!-QJ=E:1D.J
MWH&!G_PR)T8L!6D.\JGV1M@NC%Y#')*BS+.D%_W6^1[%LV%6'(/$LKO(MZ %
M,N;B7-1_<V[?G&PT>?E( )8FH<UM22UND3Z22&,G,'S*!'3\%KF&+Y&-%&YX
MEK>T86#UGCN(X6<']5:MN:2S@%EUR=63*ZJH(41^UZKB[/+=Y3D+6H(49I*E
M9*@E4XY9:']J%PI?Y/(PL@C9 0<DEI)WC3&?L,JR3F*^E46>WA6[+/&IMSC5
M=Y>NJR1/",]$75V')@<:N9G<7',MP(Q+V, 5@;[SLQN%LW.M73+*.$M66.8F
MP1]IXB9-3M&AO=4ZLYZ+UADNW@!^?4),LL.__>:PW/B6R_@.)1]1;LQH2LD]
MHWB^F+CH(L[6$;SZH9=)63X*UFZ%QLYDC*VM%^CYU=[M7*?(MTCY^#!>4+OK
MQ1RA8;<@"B6^,(SG\R'\=S2<1]\7.7</7SI8'^GFY['FW *&\7@^BAC*F_W0
M(]":QM$X'LQ4[3PB5J,1O#Z812#4%[-Q]V::,_L6GUJQZ"80F7P'YFG&958T
MYMEHQA[\>$"HE4=F8NFA_BHFH4I.#=(%*91G8TK!HO#L<+(0?-IC"\4J-=!#
M,)5K.*4UG[98WEB+;GDV&AS]: C&VWCWCWA")Q>#&7I"7=8$?.*BAJ?]H@&D
MZ"XCO=![UN[#)$[2MGO-I@PU!=#N!*D2YL\U+^(7^Z:,)TJ<(78)@6=*:QG4
M^G-9A%VAT\D!SU7CA(W>T;$_Z-Z:Q8.^<6_!R;<ZMVJZ[W&8ZWH]A:C4JHLU
M[V.+84=P-ZQ,TF[\^B'H.4Y>J?[$*=V87IR$REKS,Y)09%@#R@4*FY(>S"A\
MU-"I(SR.RKG-#*-&7+?K5#K1WC;8LC$TJJI AII*=;:9B23^FB5?*$\.EJ8H
MO[QJ@UM"=!;.\CGPJ8-60T>TPQM E A>9VU(-O,)IR!1U<V.:9N33;GJS>>;
M&JDD5]<YTTFN2D<FB0B@XH-V.\(K*H025MS+^_",=#5ILP7BP/-8W^QP)&-:
M4%M?EVXI7A&"OF!EPF3+NS08'09[=-M)(;8E@Y/+S*I:(-I>P)XMNVT" (#U
M/Y N490K>N(NA[*_$?8FD-<N@G F#&?4WV6B!5-U/GN!%]J(&:?;PH7=!UM(
M)W9)>5@16[)")8?.>V!*MU#A3'F05%/:F3QLT6+5.@D7V*V?'9\H0;!),T2*
M4U+$4\ZV<KQ"ZPH4VY?.B]K2\77-5"/FC..'E!-5_:25VRE0!YQ01ET$C0ND
MS2(W59H@>6[!4E69XWQW9?%[ZOOMZ#4(']92@#5A6XM34"A7CLD%&AC+.M#B
M+!G9^^@-E21;!R@BU1X1.3.>(*?<\I2X%U2 ;$3[)5@--D#G6&L; 56V,WC[
MT3>B:<M[ N]L1S4.+SVY(9E@$BXQ?GLH=]RGF-M<]:?U>T1!HWMU)P'^YX,A
MZ/K"82E-P+.RMOR<6X:>FDU:.\HQ< UU#"&\FX9_T^7N#OOQ;%RO*7P^F<?#
MH/;.9WO.XLEX44OV1+%$#YF9.G05Y_,".SO;[1*)]MM\,[>/N#V-W%RM$G.
M$EQ,ULA3U[3 =T#(],B!5-V.,7U%FI;%:;E1&J(2'(A1G9CY]'V"M6R-,KRE
M 36N L3*.=#':![-IQ2A@/^9(XR%[T9!(%^?:K!>V!IH-,:^06 ]#A%@"HAQ
MO>>JL/9/$\P7_?/"0#2V30B(=3;$_\&$6/19SP8U;!J#?0A?'RPF\6R!"1N8
M'#M!K!M-W@!RF\;C_J@#!S+F5,C&E"FY7\*&=FJGEL=RF9=33FKN67?@HE^Z
M+48V*J3N(<INTF6R9_CM1PED@JUTH2\UL932.U>N_&.*6'!;D,.V\TC7&^]3
M\E#".@\ )1T=_9_!Y][Y_K*H5%&F8%WE*6DUZ##$=J:HI>3N6UA47_%*0!S]
MF'T2;+)55JG+60T'>EN>#70*3%-)'\1)*@_(1QE39&5\7(V<9X1L5-\=.?SR
MU'X%U8(TDE7OTN5]7JR+N\>>5GQAA9#,WY-9HD6M1&A=RD6O-<B$R$6W1H:O
MTB5_'&&R2ZF\E*?2S^F2";9 &8T]8K&R!I^LW(N56*383(9TS0(NK.;"HGZ
MX3F+B*3:L,O'7*-*&MI^!));A=B%M<W25MF\Y:1$5=DFPWH<UT01Q3@0-PAJ
M+*B BTZ/,4%N7!-8&6V9>FV&>OB9!')Q)--;2,N<MI.GZ\I+()1;VGC3M14_
M6@&=F0N5W  / LW(W;8$HP$- 1%F1U[M,7,O^E' GL@5+[X=!A \*$]\#YK!
M:!I/N7_1")D^_FLZBL<S_,=\'B_&U& .Y?UD%+TN\KN+-0%IB.([[@/_!4F!
M?L!!M%B,"2X)O5*3:3R"@0_,8V+G@07I\P$5)"PHX0)&&,<#@B*:@?8P&')+
MIG@RF;7/8S8>XCS&"Y!V,RP=Y/$FDW@.TSHPC[&=!U8:#D<T#T16I!8E<["N
M\!^S(?P-:R7&V*QNO&B9QVB$3?6B01]V#J0;-=]#/RGVNXK'T[G[5&9;2/G#
MIW3O6J6UDI5!6]GGNY*NQPHI/D,K6 =FA'I$;+Q;V];)[(43[_9@@95@@[FK
M!^,B,ZX44$_O:6F0;2!^KK#35[">^!B')XE/PTQ^)&240TV$.T;YAPNI1L_P
M,_Z)\=J?#X#JIKY>#?.M@"?83NG2PU[T:2RI]87./CX='2\"=8@UMCZULS8U
MZVYMKLV!-7^4C:-*%6SBCD[JD@^NO0.UPTUI<59*?EUL*BW_,:;,LS=>V9+N
M2;11'4VSGSVI&MLXPY+_V\S]_S9S_U<U<X]MWBW<GY$RBOI$.JI)2'4,,CH5
ME+KA&L&E4+^J0[>(5SAQB-A:_,'!$T4=8>&2_._VWJVY;21;$WV>\RL0/=ZS
MJ0A(0_#.JIB)D&W9Y6Z7[;;LJK.CXSQ0)"2S39$:@K1+.^K'3ZY;YDID)@A*
MJIZ>??9#=\D2D,CKRG7]/D?1[!E0J:8/Y7BVQ<JS-[VB*^WGO0%<Z\-I;GX7
M@";8*IF",B2AHG*43X?]!W#UN8H;H^1@T&^0=R?3HYG[;#MCY/Z%$&,/*SHC
M!'>X;FX08RI*&L-;SM[05;_>&EBV X?,  6M1HB/C(;S6M'3@=G-EVF\A0ZH
MBB<9"WK;X)O4I\.2X\A%8!L=&W6MD'Y%"HD[? )."#TZ_IT.%.Z>@+(VZ190
MP3LE-K7V5PF2&@Z)I6\\S0<%%@UW$5KTTJP+AC'7'&L%5]MRQPC-VK45G\ G
M.@0M4@C<Z2 @CF<,Q>%%^N5QRX5MIFQLMM=Y) RE>+V'67\TR%YPR0;^?8%8
M:6Z/#28]8X84=77OW,6\0H52'+P,$?W"@;WDPAQ,9XK,I'-2V%N5Z.OO^O -
M5I5$$..9?DZ!]" $;YE8%_2CK_T89KMWAV?9N2V&KKQ[NB*C%PN#?=4?8!\C
M!"85N%TVIZAJ>.:I2X;Q1O=E5KG28V?)>.XLAZN H0PCTLHE5X<@FA(!_Z&3
MF318\7 X:P8%J;AH'0K]8K:K<9U(O^K..)=EV@YHQU+!(:-6NW'%5'L\JLM;
M>82RY! 0EL[#@A@&4$@O@O4.1W:6_5I>57. /4%[X[UB;9K&^# LATU5K@C4
M306\$&96_ZT6[/>^1=HZT'T:M>@4JP0A"LX"Y,U+*4C!;E^9VW"S '2<+60;
MB"^$+$M?54-UH6]4>,&-$*NG;QE(V':B< 0A=#,2*H<51N%C2\@I6^^A>-',
MRIA,E>^;[5=DPV&I,UO\?4\5WHPYR8O*9:TW&)CB6$1#\+7$A%V$&MADH,(O
ML0@-JK&0D=9BQ2]+5;]+.L*:/9:.V\B=D\"AB %&1^85D]J.0 O<>6Y#(CJ6
MAFRV*C!EY)M=_V5Y5XD'7TQC\4HNRRJQL8#<:G9+A0=RGN4 H@MS<[W[3C!J
MI D)XNA6([1NH.[TKO8%L60Y=.R"URZ"2?L.G8%G(LQ=UVKY*[+?G5!TF0LX
MT<NM1N]40'FSF)AAN%W8V+4MC07M[!9MC/=P5I10)J*#T&B@W8%-NX-^0\RF
M/>O])'L17]K1I(N3&RYM-AETL]>;S0(WV+0W=!TSFQ=[U4&%\8,_SF<9'ERJ
MYSIV/V7$S>($]9_>U+-OX@:YESATUOAQ#*V@H !E)).4BZJ5EIW)5&/\"'Z_
MO#$F]>D*/-$$#869J51^R8CZ$D-O&+/JD71H7C,V#GS1X3)A.%BEG&>R16'_
MW\B*8E**E\#DYRZ]^+*<;3?9)]W3MV]?P/5BF9SZW2>_7Q*?;;YI^B\E"C"G
M/ARX6@:68TE?+</^Q+LS.)(C0E\RC4BTHA! &?%L5!1LU_Y?<AO W" @CFA_
MKF)AL]_-D3.P9G4DYV&+W)QH]CR3TH,>EQYH^@SV7=TN5T::PHAD6V.TIPK*
M%#9V+S=1?/D@O(T=I7J8PF'!U!TM3)%(-D"LR,=L1:%+;"N"DIVQ64&WB&I?
M+@@*TH41)84,'#BJ+%8-V'-JOM^IVNH.K_3)L<[+MFK"PW2!/_;6=S+@_^;+
MO_V5;N[9U,U=("6'O;LA'[^ VWL+$LNVW"F*8>SZ1N'(V_>/NZ-M6/7Q-Y^Z
M:Y_FZKM87WZ900SU]NHGN._>SW<;)"X<-UYW"GXLS@RKVXU<:'W(-S#SM75F
M$TE0,\>O$?#FP+UFI%-_-/AQ; 5P!W*SIUV2>2=NT?C!03YU#P[S_G1H'TP8
M5[F\ZNK+.HA'.ACPJYC^QOX6;H/O-K2V '[C:@8D\3!,>^UPH,'F\7,X0Q1-
MBC=.2).R/>CI'O2YN/&$4GV<W/7Z4(^?>BR3<D?M9M77"J(H?]Z;C<8ZSOC_
ME[<[](?GNPONF$-S_ZCY?<J;_E!'%Y;[+_L"4L6<N"M=RHNAE2]@'RSV6ULS
MQBN9-^D/=3G;0A96_[&UA2=W*ORG(G%8D<!<70 G'4<="KXS83P]0O$P6L,'
M!@?+$6Y9HEJF^S27@T'*W3 8C--*"T2[K-(RR4=%/^)R@,A8J,KTNE/U>R\S
MN=/+^X->3-'!J_$_N)_BB9P/>7:U 02G?[ B=O[72QA%GEV>O47'-I- _P%^
M!^]3<>6,I8*5/J&6=FF.T+J5CM;+>_V>7$Q0F3KEBPD.N#BKK1=B=] /_9^R
M^)]8%L<]NL4HZ94=3B<I,=F?#)R0-!K-I!^S[ 8Q>8?;[#_EW=/)NZ=VN?X\
M V#@,OMUL_U:N6@>"[U>M'XW*?1,-V+M=?B7)\T>53Z.?N0. G]K+WZC3^U7
MR)/L7+[\2W7B)V_?(7NRF61P]6&9!?<!V(!LQ;%\;UWN("2'ZVC#T43!9[HR
MVV$<'CJQ+K^[U[#]!3#YF:_,!/G5=,@+!J6DI#>A$.*UL^I2\+'%/2$GWFZN
MH'K1?-V<K$-QS$$^81IVYVP&H*!^BSAF&_=S/Q\SC0@?P+CP.L(D9.';[/.M
MM-.WEA]7Y..NKO8:4U V]JBY"+U')]J&M*4,A]S'!PPHQ._\I[*=;+JKGXUI
M:Z:?R9HJV%0//Y/\!8)I!*VH$G$"CP)GO N8)^JT<=\]Z_===JWNQ6#4;^P%
M?E_R$UP'X,MN80]8]K8<U6<!3BYFC8H.!Z!0AC!^@*D2Z/&?<">.LMES\?/+
M9:+# =+/6#^NROL-)^VX+A3YH$TGGB;P4/WC_,^]?DI_*0;)J/)PJCS3@[P[
MZL8\T$9B_I]45*IC-)7C%)4_7$\Y1DUYB)82% ;NKRK ?S([XX*PX\/?G&:=
M=^;&J4X.O]Q0@5A_]G!C1GEZ55YM,>,'A"U<19[X^]<HY[*E:9[5^)OA.N^>
M=<=#5Z9).\4^L72N"L+1+BAF,!:<%@U"30LIWER1>ZL-%3%8Y6<CF-Q];BI<
M@_D7LV+FFV_>F+E64$*F1W\%/NIKY!83.Z3^^L$7&E;EQ?O7[R[^W^S%^X\?
MWG\\__3F_3M*U32RZO+%3Q<O/[^]@%[)[WXY?_N9GCI_]S+[Z^?SMV]>_=N;
M=Z^S\Q<OWG]^]^G2HD]7YKZHYMLEU;3(\30*SW. E%AS#<L'NKQ?8'T^GA!,
M\L2!7(@,4W_E#$\9UTL!9JSX+^H[%[3@_(7.&X\>]*,"IOQL[D+$S<<#8]O^
M:(V]'P3K<]P?(5/=R(=*&H&YUIE!7G '8W*=*_@9:M4P-=?\B#R?[A7U\D"]
M/.C:E^%3#%,\[4Y3+_=[[N7AV'W9?$Z/\(*0OC%%]LK(S!+Y4QD#S(ZNGT^Z
M??POY%G[G<SAT+A/X6?G)_APW^QH'N80N8HPLWC4\UOHY8-!W[70'P]4$_!=
M'NP@[W<+_&6O._";*/+I>*(F"\F3J GZL(:.4J?H7) CU$A[2/TT&8X3,^M^
M(@PO'B !F9D7B]2+'>1VDD_PH( ;:H)EAL.#WZ-/P!@O(1)U#:  @!AR"I@R
MN+XO>+=R7<8=X^X;;1P>-(8!/"JYP;3JU_7*@?(W4I6)/$'49IC,H,@@^F@H
MNZ$"%@L7=2J\0@C[8*[J.2*GR4_!;?)NAG:+IVJW>4:HW#Q@*(A6@BF))H)*
M8VTL.P9NS_V6DI.-C;NZ_W=\<(_Q0)<YO53 8+.]T3$(>:\"*]V5%(&],UOO
MKX$(?<O=D*+D[^@1#.D)@JOA,UTF%^SPLG5#J.@Y?%-'#N%LEB=LBG12_SE7
M3UBYYZ@*$68* :@07]+M 3,WYHT[J+=V%$C@2+SCVG?HCE\.#:Y=H\*9[91U
M$*'K]?GYAQ,'!*<*^W=4RFZ=@[3U_[Y?<+T]^34)( ,^Y$H>'0)U B5-E+V%
MJRGPP]2^ U-T 0]/CN$.I*G8UUDKK'0-55!N8)1 HGB1,DX"H27N%"D:!1W$
MSL.9=R93T\-:-[^LW D.'Q+AN,4Q;8FT<B=KG(.4GN  59ZMZO74N558 >-Y
M"\311GI<K98W@LAK9W>.+:2H>373!H_)G$SPBX':##A!VWWT.#PG#?M:V1'+
M$&,C_I2X*YS]D3@-,J6EFZ/-=4Q>877PKO*XPG))27')!=^-ZKFZ/]U\7R-"
M(*C[D+PP=TYY)_0312,EX!XC@UD@;$3VOV#9?^CO5!VQ<E,2G85-''(ZQHXF
M@A'=$1O OK+7$"-97._7."+U)T(4VW%7P/=4466>NK=0,A%9B@!6E*[@%&U]
M*J%)'G^!F*DU6Z_O@%94??5&^8P^X:F7XLO@2MZIN71%#!9*#3';EK[G01LC
M/*_"BP-":"= K.8A@/7]9LOLJ-HM7'_PF?V"/K.?R=OFI+^/<@FW*U++GJ(#
M3^%T?5F:$1MKAQRNR@MWJUID^]S,X(T1$ ZQ,3'_RCT4^] R2 P"^BEC:%/?
ML(SA;L_H;D#^JZ0A)Y&HSN'=9KM]EKW%1@IJP^*#N'[<ED9B+LC'S!B V7Y-
M*UA"9>\&_F-T@J_ECEPDN!D9U9A^S_YN9""#71^?!^E+KU5?X%#0%MA<@2G
MF5CPHH;?C_8/(1T9?27>EUQ>5&^H_@/P9>/[I!W1V&W $<%P<%Z05U!<E316
M>4B-!@J0"7S1G(GMYFICV3O50SPR(Z9G,H']UA.X7P>3I_>:TSZL6+N"C2=W
MK @8/0:9Z=G6S-72G"F+1,G1B3M&^<9; R8/QJF\P[M@QY)FX=840ZB,"T$@
M--ME]16\1RR[>-SV? !.=_@E=>S4.?;.G<)6],7J+/#0!]+F!=)T8J++A:/I
M) WIC>+I_'FS+N]EVM2%;IVD[/PWDN0&8-,A V^_M9D!**88,1_'AZ;PMHX+
M'*4+G0EZ)P[/>?+ C0>XX5<  S"7CR5[<<-@/LR'I_I##GL <8")\CMNO=#I
M3F.*VRDL04TA@S+%%<@1N0]4-X.T1.+-K<0)*NLNWT\,--IM;Z32@->?&?$N
M@.0P)\ 8 >"4S80?(X\,$G7'^AC/LC<[T0GJFL4=&)@8Q: 7$'T@-@3'GJ:&
M0-#25"8*%&GHV558\8]?<PR\PB4DWOS9MYD1E4;$0)7N*9;:R^YS9L).'4*&
M[@>*'*8)0$A,$K*,XJGUAJ=4&O"P1G:4)9K$RP-S+P4G!KJQA*"7H-+@CI-+
MGQWO\(?;S$:!S+['-0]GRRA*"PFP/F:*O%D)<4&A5#GU9CU*$;[M(7B@) _!
MJ3.)Z&:8,U[>+O>W"&%0VV-&-::(\D['AAVRF<*A)-47LU_%>R2\IG-]P\7!
MY)I.)GI4O'IS]RV,:E##NIXZPE JYQ=:0YF&QV/X+Q;Z17U9+&7-/K&&,WUM
MEA=!J*7F2+UEOZ7X\];:/+MC[Q.E:[#KP)S,)88.<#0 >@LOVG1E J]U-U)$
MGN!:-$\@0<?;K.VEIQU#^H/<I6 $X3&<<;CV%&;IU%%P+TU#RZU%2-[,J=C<
MLOOXR=8SK[/W_M0CGY9WK]72*03R3_J$Q]=]?UE%NXC1:HG[PES:(6%T!@;I
MQ^@3[2!"L+0#ZA8@#F.4![\ O2^=]L9+55L;#_U1VJ*E!H _$D$T-QS1)@QM
MWCZ"E^0]8E2$&Q#\+-CT [@D:&DCO@YBM @X);U<@8G S=;^#%@3)!QI1[F
M/$AL_SN$RDTQ;!!EYC2@ Y;%GXO\&E41[NGKO>?%-.K@NK:2"HP]ON^NL\[R
M)#B43J);%<*?L<[2O-4"=MLOE*B!0@?M"G2,'CMIH#N *O=WM4##&KEE>E,;
MA&4\IODDI]?<BI>&!NN[ X_@<9.JJRPW:\[UA&FFKI[ [3??+J_@@@,:Y5SW
MR3$F6]H===E(5T62AD486B@HNKW$A?@&+84G&9X96"Y=W1, J\/?X@/(EVU'
M6*UXJR7&S._7BDP<N6HMWX-C?IR &IFTZ/J>M)DHW2*-S?$CHD</3R7+L;#!
M*,]Q.]4L*1*;=>ZD?+3%,^20WK%[!/]$8CP0AY%K'RF"=N*C)VDAEZE-MW H
MK[LM6",DP*P6 VWLUZS$5$ZM>LUO?Z"!!49F))S;XA'/XX7C-EHL[TK\M+"
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
M/L/]9K1;W$PVY]H3VPS#8S;$*=R/#,*CNB1-<(D(!_&I1_<M^B.\;&)A8 0
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
MM2CX*GM68&>H5W*>!"A077']*C3A0JR N8QU,JG\9MPSE5'D9E1O3>;OS!;
M.MNL_(9 F[/?\$HC)6"'5,@P7[I;%5P\*T;*D+ ::?E+--WKGB ?.,/%V]$J
M6-Y:V;9V<N/>#*UD",78P*1D'*%BZ!L55EN81[:;_<T7<^_?;'92)0=XB3L)
M0EM;JCY8;$P\!$N'H4TWP6RW9ZAK=/\)VLK+4@\7D\>]97?YZZY.7Q]BBM?C
M!H"Z:$HA]ZI8O:H93"7S/K#>"-X$3%F5GC-(*:ZPJM+TDM*$[<X "C26C361
MJ/B&XA))4P-9,$0X\IXE.[-.$-M@K2Q8PXX&0H\7%SZSV=.^$% -$*!0I],I
MSV[.<GJ6% A5CMUZ04]D0SF@H>:1RK,UG$H:;#O\0V8G<0+4@I%1#,48S@)9
M[E"TK9Q#8\?\FR2@+1N7O(_E.O+2F6-A@-^F )5]B(J:1([5H]/9#@2<[2,T
MT8C@7F660(Q%DQD]+8%Y79)PX$0Q]I0#C!;O=.5WC9 N(&3L=%BAFI#L)]9Y
ME]=Y?9#?2] JL<?6X)= >'ZPLH1J_CU/]B(R[S@66T0EA<*7%!PVCT4A]S5X
M+X&J6]JPO^^WRVJQG-=4-(>E5/-),;PI@ +@5K\!S6)-"\>R<6GG"E4I4;O)
MV4?J=F=Y5B*GJX:C$8=\F&R[)7.(F!^8S(</J_O^B7/0'>@]7W"\::RWA0O3
MS21^01#X^ZI^(R%<X?K4 1%:ZC?P),VVZT@>^#MS-;VAQSZ8,5V">=GFF0QP
MZN?H/>6O6(8C49+V#(V,7$=+)&"T#[LMB!56F ?H,1WQZ&G3EHM304-W-H)^
MJ_(PBZRCC%7'E\O57MS)_^2=S>Y6 /)D0P<+Z#I6>.L&>$CJ]PY'6+Z1<+HX
MF.$HB.=NBS+KGM\1Y)D7J:\P;*W*2+(PTSO*3!901,QSE8(A![I?S[HDASS4
M/^0:_8E'CYWR,)/YRM*N8SRD/#B^)1=J!Q  HJ7C"JM#--P9;?LVSV3^+WGK
M4-Z?!I-S]=4,M$9EV/XIM[F*)'4TKX*K8.>JFZ D/X>R.':(>*\J+@!H5@.,
M H+Y][7((%V^C^8>_0VQPBQX0PP=CM9- P'/XDR.['GW?PN>2]ZVE(31CK$
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
M5DB\#H+:SH<:^B&&R\CM$TXEEQ]"V^DITS3429\%*W92TX&3@=N-4VT\CC8
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
MD1Y7?Y/F:MQQDG*HF$D] GV<2FAR!A@'+27N!LE]!KC'-@<>)>!YG9'W.DJ
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
MZ[$)$,9:U _-N1S/KW?S/E9I6L<.M]E5+NO7FW.L?^3G]%]02P,$%     @
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
M4$H?(\\#P    !,"   +              "  0    !?<F5L<R\N<F5L<U!+
M 0(4 Q0    (  2!4$IF\PM@@@   +$    0              "  >D   !D
M;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ !(%02M\:AR+N    *P(  !$
M             ( !F0$  &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @
M!(%02IE<G",0!@  G"<  !,              ( !M@(  'AL+W1H96UE+W1H
M96UE,2YX;6Q02P$"% ,4    "  $@5!*6FU^.*P"   ("@  &
M    @ 'W"   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @
M!(%02O,E;1E^!   ,Q4  !@              ( !V0L  'AL+W=O<FMS:&5E
M=',O<VAE970R+GAM;%!+ 0(4 Q0    (  2!4$H&]*W/*0,  *8,   8
M          "  8T0  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4
M    "  $@5!*P6T=SQ\"   O!@  &               @ 'L$P  >&PO=V]R
M:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @ !(%02HL$@=U@!   -A4
M !@              ( !018  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+
M 0(4 Q0    (  2!4$I]%@PK#@(  !@&   8              "  =<:  !X
M;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    "  $@5!*_H_W/_(%
M   \'P  &               @ $;'0  >&PO=V]R:W-H965T<R]S:&5E=#<N
M>&UL4$L! A0#%     @ !8%02DX$Z$,+!@  W2$  !@              ( !
M0R,  'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    (  6!4$K2
MQ]_,(0(  #0&   8              "  80I  !X;"]W;W)K<VAE971S+W-H
M965T.2YX;6Q02P$"% ,4    "  %@5!*V=AYU[,!  #2 P  &0
M    @ ';*P  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    (
M  6!4$H_A17@M $  -(#   9              "  <4M  !X;"]W;W)K<VAE
M971S+W-H965T,3$N>&UL4$L! A0#%     @ !8%02@'233RU 0  T@,  !D
M             ( !L"\  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"
M% ,4    "  %@5!*,C7C0;,!  #2 P  &0              @ &<,0  >&PO
M=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    (  6!4$J>=&+*M0$
M - #   9              "  88S  !X;"]W;W)K<VAE971S+W-H965T,30N
M>&UL4$L! A0#%     @ !8%02@ZA;-ZT 0  T@,  !D              ( !
M<C4  'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    "  %@5!*
M#EYY<K<!  #0 P  &0              @ %=-P  >&PO=V]R:W-H965T<R]S
M:&5E=#$V+GAM;%!+ 0(4 Q0    (  6!4$KDTI(LMP$  -(#   9
M      "  4LY  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%
M  @ !8%02JQ?.N*S 0  T@,  !D              ( !.3L  'AL+W=O<FMS
M:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    "  %@5!*[X'^ K0!  #2 P
M&0              @ $C/0  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+
M 0(4 Q0    (  6!4$K&-;;'M0$  -(#   9              "  0X_  !X
M;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ !8%02K&V-&VS
M 0  T@,  !D              ( !^D   'AL+W=O<FMS:&5E=',O<VAE970R
M,2YX;6Q02P$"% ,4    "  %@5!*+6P#<+8!  #2 P  &0
M@ 'D0@  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    (  6!
M4$K]->D?M0$  -(#   9              "  =%$  !X;"]W;W)K<VAE971S
M+W-H965T,C,N>&UL4$L! A0#%     @ !8%02D"\GP>S 0  T@,  !D
M         ( !O48  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4
M    "  %@5!*3Z=>#[0!  #2 P  &0              @ &G2   >&PO=V]R
M:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    (  6!4$J1N,&$M $  -(#
M   9              "  9)*  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL
M4$L! A0#%     @ !8%02KSZ$'^T 0  T@,  !D              ( !?4P
M 'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    "  %@5!**'H0
MY[0!  #2 P  &0              @ %H3@  >&PO=V]R:W-H965T<R]S:&5E
M=#(X+GAM;%!+ 0(4 Q0    (  6!4$I4T]TPM0$  -(#   9
M  "  5-0  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @
M!8%02B@GPXFW 0  T@,  !D              ( !/U(  'AL+W=O<FMS:&5E
M=',O<VAE970S,"YX;6Q02P$"% ,4    "  %@5!*282RL;0!  #2 P  &0
M            @ $M5   >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4
M Q0    (  6!4$IRJ8#WVP(  $H,   9              "  1A6  !X;"]W
M;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ !8%02N,";??! 0
M-P0  !D              ( !*ED  'AL+W=O<FMS:&5E=',O<VAE970S,RYX
M;6Q02P$"% ,4    "  %@5!*V 9OC>$!   !!0  &0              @ $B
M6P  >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    (  6!4$J8
MYYO%N0$  -$#   9              "  3I=  !X;"]W;W)K<VAE971S+W-H
M965T,S4N>&UL4$L! A0#%     @ !8%02B/9/:"Y 0  T@,  !D
M     ( !*E\  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4
M"  %@5!*_ :62;@!  #2 P  &0              @ $:80  >&PO=V]R:W-H
M965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    (  6!4$J95OUZQ0$  #<$   9
M              "  0EC  !X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L!
M A0#%     @ !8%02N6;T#_& 0  -P0  !D              ( !!64  'AL
M+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    "  %@5!*4UE'$\,!
M   W!   &0              @ $"9P  >&PO=V]R:W-H965T<R]S:&5E=#0P
M+GAM;%!+ 0(4 Q0    (  6!4$H<^60JZ0$  &8%   9              "
M ?QH  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ !8%0
M2L)@&&?< 0   04  !D              ( !'&L  'AL+W=O<FMS:&5E=',O
M<VAE970T,BYX;6Q02P$"% ,4    "  %@5!*N#$0E]T!   !!0  &0
M        @ $O;0  >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0
M   (  6!4$H*K:BYMP$  -(#   9              "  4-O  !X;"]W;W)K
M<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @ !8%02NHK"I^R 0  T@,
M !D              ( !,7$  'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q0
M2P$"% ,4    "  %@5!*ZTU_R[<!  #2 P  &0              @ $:<P
M>&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    (  6!4$I:ES6X
MLP$  -(#   9              "  0AU  !X;"]W;W)K<VAE971S+W-H965T
M-#<N>&UL4$L! A0#%     @ !8%02NI+H!6F @  GPL  !D
M ( !\G8  'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    "  %
M@5!*%6TEB[<!  #2 P  &0              @ '/>0  >&PO=V]R:W-H965T
M<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    (  6!4$K_>1502@(  +$(   9
M          "  ;U[  !X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#
M%     @ !8%02E<KXM[= 0  ^@0  !D              ( !/GX  'AL+W=O
M<FMS:&5E=',O<VAE970U,2YX;6Q02P$"% ,4    "  %@5!*Z;F>F/(!  #F
M!   &0              @ %2@   >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM
M;%!+ 0(4 Q0    (  6!4$J.6(:<CP(  !8)   9              "  7N"
M  !X;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @ !8%02O_G
MF+-R P  ,Q   !D              ( !084  'AL+W=O<FMS:&5E=',O<VAE
M970U-"YX;6Q02P$"% ,4    "  %@5!*;I2TOXH"  #J"   &0
M    @ 'JB   >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    (
M  6!4$K2@P"%I $  )D#   9              "  :N+  !X;"]W;W)K<VAE
M971S+W-H965T-38N>&UL4$L! A0#%     @ !8%02J%R!\$"!   !Q,  !D
M             ( !AHT  'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"
M% ,4    "  %@5!*-K',#[$"  "@"0  &0              @ &_D0  >&PO
M=V]R:W-H965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    (  6!4$IZ!(?&^04
M #4G   9              "  :>4  !X;"]W;W)K<VAE971S+W-H965T-3DN
M>&UL4$L! A0#%     @ !8%02L&[R#*Q P  !A,  !D              ( !
MUYH  'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    "  %@5!*
M((H#>8T$   J&@  &0              @ &_G@  >&PO=V]R:W-H965T<R]S
M:&5E=#8Q+GAM;%!+ 0(4 Q0    (  6!4$K#&)N>_P$  '8%   9
M      "  8.C  !X;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%
M  @ !8%02F'6_\7O @  A P  !D              ( !N:4  'AL+W=O<FMS
M:&5E=',O<VAE970V,RYX;6Q02P$"% ,4    "  %@5!*#!9(YA0"  ",!0
M&0              @ '?J   >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+
M 0(4 Q0    (  6!4$J"T!- F@(  )4)   9              "  2JK  !X
M;"]W;W)K<VAE971S+W-H965T-C4N>&UL4$L! A0#%     @ !8%02IU^78 E
M @  T08  !D              ( !^ZT  'AL+W=O<FMS:&5E=',O<VAE970V
M-BYX;6Q02P$"% ,4    "  %@5!*+=Z,,\H"  !\"P  &0
M@ %7L   >&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    (  6!
M4$J[T.=Q% (  #D&   9              "  5BS  !X;"]W;W)K<VAE971S
M+W-H965T-C@N>&UL4$L! A0#%     @ !8%02K!O(L<_ @  & <  !D
M         ( !H[4  'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4
M    "  %@5!*O84_$#T"  "2!@  &0              @ $9N   >&PO=V]R
M:W-H965T<R]S:&5E=#<P+GAM;%!+ 0(4 Q0    (  6!4$H"(EA%? (  "4(
M   9              "  8VZ  !X;"]W;W)K<VAE971S+W-H965T-S$N>&UL
M4$L! A0#%     @ !8%02J_K87@$ @  Q04  !D              ( !0+T
M 'AL+W=O<FMS:&5E=',O<VAE970W,BYX;6Q02P$"% ,4    "  %@5!*SK]I
M.OT!  "\!0  &0              @ %[OP  >&PO=V]R:W-H965T<R]S:&5E
M=#<S+GAM;%!+ 0(4 Q0    (  6!4$JS\&1GX@$  *D$   9
M  "  :_!  !X;"]W;W)K<VAE971S+W-H965T-S0N>&UL4$L! A0#%     @
M!8%02E:E4[O^ 0  J 4  !D              ( !R,,  'AL+W=O<FMS:&5E
M=',O<VAE970W-2YX;6Q02P$"% ,4    "  %@5!*NHOT"94$   >&   &0
M            @ ']Q0  >&PO=V]R:W-H965T<R]S:&5E=#<V+GAM;%!+ 0(4
M Q0    (  6!4$H17GX:4P(  (\(   9              "  <G*  !X;"]W
M;W)K<VAE971S+W-H965T-S<N>&UL4$L! A0#%     @ !8%02E70.8P> @
M> 8  !D              ( !4\T  'AL+W=O<FMS:&5E=',O<VAE970W."YX
M;6Q02P$"% ,4    "  %@5!*;(2N$@H#  #[#   &0              @ &H
MSP  >&PO=V]R:W-H965T<R]S:&5E=#<Y+GAM;%!+ 0(4 Q0    (  6!4$HV
MPZ%O60(  'X'   9              "  >G2  !X;"]W;W)K<VAE971S+W-H
M965T.# N>&UL4$L! A0#%     @ !8%02N?0_JHQ!   Z10  !D
M     ( !>=4  'AL+W=O<FMS:&5E=',O<VAE970X,2YX;6Q02P$"% ,4
M"  %@5!*7\)$OFH#  #V#@  &0              @ 'AV0  >&PO=V]R:W-H
M965T<R]S:&5E=#@R+GAM;%!+ 0(4 Q0    (  6!4$H6BW5Z^@(  )P+   9
M              "  8+=  !X;"]W;W)K<VAE971S+W-H965T.#,N>&UL4$L!
M A0#%     @ !8%02K;M!O,L @  X08  !D              ( !L^   'AL
M+W=O<FMS:&5E=',O<VAE970X-"YX;6Q02P$"% ,4    "  %@5!*>+E0*4L"
M  "8!P  &0              @ $6XP  >&PO=V]R:W-H965T<R]S:&5E=#@U
M+GAM;%!+ 0(4 Q0    (  6!4$I((R,IZ0(  ' +   9              "
M 9CE  !X;"]W;W)K<VAE971S+W-H965T.#8N>&UL4$L! A0#%     @ !8%0
M2B N+FA< @  &@@  !D              ( !N.@  'AL+W=O<FMS:&5E=',O
M<VAE970X-RYX;6Q02P$"% ,4    "  %@5!*)H/?<$<%  "*'   &0
M        @ %+ZP  >&PO=V]R:W-H965T<R]S:&5E=#@X+GAM;%!+ 0(4 Q0
M   (  6!4$J4;-DJX@(  +T*   9              "  <GP  !X;"]W;W)K
M<VAE971S+W-H965T.#DN>&UL4$L! A0#%     @ !8%02GX][5R, @  H D
M !D              ( !XO,  'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6Q0
M2P$"% ,4    "  %@5!*0]=>9%D"  !9!P  &0              @ &E]@
M>&PO=V]R:W-H965T<R]S:&5E=#DQ+GAM;%!+ 0(4 Q0    (  6!4$HA-+O<
MTP(  $$+   9              "  37Y  !X;"]W;W)K<VAE971S+W-H965T
M.3(N>&UL4$L! A0#%     @ !8%02KD-/5<M @  0P8  !D
M ( !/_P  'AL+W=O<FMS:&5E=',O<VAE970Y,RYX;6Q02P$"% ,4    "  %
M@5!*E*JUX_D!  #F!   &0              @ &C_@  >&PO=V]R:W-H965T
M<R]S:&5E=#DT+GAM;%!+ 0(4 Q0    (  6!4$K'BRZM1 (  $$'   9
M          "  =,  0!X;"]W;W)K<VAE971S+W-H965T.34N>&UL4$L! A0#
M%     @ !8%02LC6KG,[ P  60T  !D              ( !3@,! 'AL+W=O
M<FMS:&5E=',O<VAE970Y-BYX;6Q02P$"% ,4    "  %@5!*<_,8V# #  "C
M#0  &0              @ ' !@$ >&PO=V]R:W-H965T<R]S:&5E=#DW+GAM
M;%!+ 0(4 Q0    (  6!4$I*4U)\? ,  'T0   9              "  2<*
M 0!X;"]W;W)K<VAE971S+W-H965T.3@N>&UL4$L! A0#%     @ !8%02JYK
MZ9_9 0  7@0  !D              ( !V@T! 'AL+W=O<FMS:&5E=',O<VAE
M970Y.2YX;6Q02P$"% ,4    "  %@5!*1.D;I"4"   9!P  &@
M    @ 'J#P$ >&PO=V]R:W-H965T<R]S:&5E=#$P,"YX;6Q02P$"% ,4
M"  %@5!*>WLJHHL"  !@"0  &@              @ %'$@$ >&PO=V]R:W-H
M965T<R]S:&5E=#$P,2YX;6Q02P$"% ,4    "  %@5!*4T.+!! "   O!@
M&@              @ $*%0$ >&PO=V]R:W-H965T<R]S:&5E=#$P,BYX;6Q0
M2P$"% ,4    "  %@5!*H?V<*DX"  "F!P  &@              @ %2%P$
M>&PO=V]R:W-H965T<R]S:&5E=#$P,RYX;6Q02P$"% ,4    "  %@5!*>REY
M>4<"  !W!P  &@              @ '8&0$ >&PO=V]R:W-H965T<R]S:&5E
M=#$P-"YX;6Q02P$"% ,4    "  %@5!*N*TZ$\D"  #_"@  &@
M    @ %7' $ >&PO=V]R:W-H965T<R]S:&5E=#$P-2YX;6Q02P$"% ,4
M"  %@5!*DOT.2LD!  !?!   &@              @ %8'P$ >&PO=V]R:W-H
M965T<R]S:&5E=#$P-BYX;6Q02P$"% ,4    "  %@5!*_=N(JVH"  "5"
M&@              @ %9(0$ >&PO=V]R:W-H965T<R]S:&5E=#$P-RYX;6Q0
M2P$"% ,4    "  %@5!*?,N_3N@"  "["P  &@              @ '[(P$
M>&PO=V]R:W-H965T<R]S:&5E=#$P."YX;6Q02P$"% ,4    "  %@5!*@NY;
M_UP"   M"   &@              @ $;)P$ >&PO=V]R:W-H965T<R]S:&5E
M=#$P.2YX;6Q02P$"% ,4    "  %@5!*9NL%2=H!  #0!   &@
M    @ &O*0$ >&PO=V]R:W-H965T<R]S:&5E=#$Q,"YX;6Q02P$"% ,4
M"  %@5!*581W*ZX#   7$0  &@              @ '!*P$ >&PO=V]R:W-H
M965T<R]S:&5E=#$Q,2YX;6Q02P$"% ,4    "  %@5!*Y.E 5M'1  ! 40,
M%               @ &G+P$ >&PO<VAA<F5D4W1R:6YG<RYX;6Q02P$"% ,4
M    "  %@5!*.&H_W\@"  !M$@  #0              @ &J 0( >&PO<W1Y
M;&5S+GAM;%!+ 0(4 Q0    (  6!4$J6"S0?AP<  %-(   /
M  "  9T$ @!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    "  %@5!*?W,'S#8#
M  "]00  &@              @ %1# ( >&PO7W)E;',O=V]R:V)O;VLN>&UL
M+G)E;'-02P$"% ,4    "  %@5!*WB-/WH0"   Y/P  $P
M@ &_#P( 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     > !X  8A  !T$@(
"   !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>127
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/**
 * Rivet Software Inc.
 *
 * @copyright Copyright (c) 2006-2011 Rivet Software, Inc. All rights reserved.
 * Version 2.4.0.3
 *
 */

var Show = {};
Show.LastAR = null,

Show.hideAR = function(){
	Show.LastAR.style.display = 'none';
};

Show.showAR = function ( link, id, win ){
	if( Show.LastAR ){
		Show.hideAR();
	}

	var ref = link;
	do {
		ref = ref.nextSibling;
	} while (ref && ref.nodeName != 'TABLE');

	if (!ref || ref.nodeName != 'TABLE') {
		var tmp = win ?
			win.document.getElementById(id) :
			document.getElementById(id);

		if( tmp ){
			ref = tmp.cloneNode(true);
			ref.id = '';
			link.parentNode.appendChild(ref);
		}
	}

	if( ref ){
		ref.style.display = 'block';
		Show.LastAR = ref;
	}
};

Show.toggleNext = function( link ){
	var ref = link;

	do{
		ref = ref.nextSibling;
	}while( ref.nodeName != 'DIV' );

	if( ref.style &&
		ref.style.display &&
		ref.style.display == 'none' ){
		ref.style.display = 'block';

		if( link.textContent ){
			link.textContent = link.textContent.replace( '+', '-' );
		}else{
			link.innerText = link.innerText.replace( '+', '-' );
		}
	}else{
		ref.style.display = 'none';

		if( link.textContent ){
			link.textContent = link.textContent.replace( '-', '+' );
		}else{
			link.innerText = link.innerText.replace( '-', '+' );
		}
	}
};
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>128
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>130
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='UTF-8'?>
<FilingSummary>
  <Version>3.6.0.2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>304</ContextCount>
  <ElementCount>502</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>94</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>17</UnitCount>
  <MyReports>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001000 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1001000 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ConsolidatedStatementsOfOperations</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1002000 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1002501 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1003000 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1003501 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>1004000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>1005000 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>1005501 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ConsolidatedStatementsOfShareholdersEquityParenthetical</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF SHAREHOLDERS EQUITY (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2101100 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2102100 - Disclosure - New Pronouncements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/NewPronouncements</Role>
      <ShortName>New Pronouncements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2103100 - Disclosure - Fair Value Measurements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/FairValueMeasurements</Role>
      <ShortName>Fair Value Measurements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2104100 - Disclosure - Cash, Cash Equivalents, and Investments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CashCashEquivalentsAndInvestments</Role>
      <ShortName>Cash, Cash Equivalents, and Investments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2105100 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2106100 - Disclosure - Property, Plant, and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/PropertyPlantAndEquipment</Role>
      <ShortName>Property, Plant, and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2107100 - Disclosure - Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/Goodwill</Role>
      <ShortName>Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2108100 - Disclosure - Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/IntangibleAssets</Role>
      <ShortName>Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2109100 - Disclosure - Accrued Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AccruedExpenses</Role>
      <ShortName>Accrued Expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2110100 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2112100 - Disclosure - Indemnification Provisions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/IndemnificationProvisions</Role>
      <ShortName>Indemnification Provisions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2113100 - Disclosure - Derivative Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DerivativeInstruments</Role>
      <ShortName>Derivative Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2114100 - Disclosure - Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ShareholdersEquity</Role>
      <ShortName>Shareholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2116100 - Disclosure - Stock-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/StockBasedCompensation</Role>
      <ShortName>Stock-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2117100 - Disclosure - Employee Savings Plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/EmployeeSavingsPlan</Role>
      <ShortName>Employee Savings Plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2118100 - Disclosure - Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/Taxes</Role>
      <ShortName>Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2119100 - Disclosure - Weighted Average Shares</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/WeightedAverageShares</Role>
      <ShortName>Weighted Average Shares</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2120100 - Disclosure - Segment and Geographic Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SegmentAndGeographicInformation</Role>
      <ShortName>Segment and Geographic Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2121100 - Disclosure - Discontinued Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DiscontinuedOperations</Role>
      <ShortName>Discontinued Operations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2122100 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2123100 - Disclosure - Subsequent Events Subsequent Events - (Notes)</LongName>
      <ReportType>Notes</ReportType>
      <Role>http://cognex.com/role/SubsequentEventsSubsequentEventsNotes</Role>
      <ShortName>Subsequent Events Subsequent Events - (Notes)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2124100 - Disclosure - Schedule II - Valuation and Qualifying Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ScheduleIiValuationAndQualifyingAccounts</Role>
      <ShortName>Schedule II - Valuation and Qualifying Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2201201 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://cognex.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2303301 - Disclosure - Fair Value Measurements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/FairValueMeasurementsTables</Role>
      <ShortName>Fair Value Measurements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/FairValueMeasurements</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2304301 - Disclosure - Cash, Cash Equivalents, and Investments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CashCashEquivalentsAndInvestmentsTables</Role>
      <ShortName>Cash, Cash Equivalents, and Investments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/CashCashEquivalentsAndInvestments</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2305301 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/Inventories</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2306301 - Disclosure - Property, Plant, and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/PropertyPlantAndEquipmentTables</Role>
      <ShortName>Property, Plant, and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/PropertyPlantAndEquipment</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2307301 - Disclosure - Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/GoodwillTables</Role>
      <ShortName>Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/Goodwill</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2308301 - Disclosure - Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/IntangibleAssetsTables</Role>
      <ShortName>Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/IntangibleAssets</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2309301 - Disclosure - Accrued Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AccruedExpensesTables</Role>
      <ShortName>Accrued Expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/AccruedExpenses</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2310301 - Disclosure - Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CommitmentsAndContingenciesTables</Role>
      <ShortName>Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2313301 - Disclosure - Derivative Instruments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DerivativeInstrumentsTables</Role>
      <ShortName>Derivative Instruments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/DerivativeInstruments</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2316301 - Disclosure - Stock-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/StockBasedCompensationTables</Role>
      <ShortName>Stock-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/StockBasedCompensation</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2318301 - Disclosure - Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/TaxesTables</Role>
      <ShortName>Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/Taxes</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2319301 - Disclosure - Weighted Average Shares (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/WeightedAverageSharesTables</Role>
      <ShortName>Weighted Average Shares (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/WeightedAverageShares</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2320301 - Disclosure - Segment and Geographic Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SegmentAndGeographicInformationTables</Role>
      <ShortName>Segment and Geographic Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://cognex.com/role/SegmentAndGeographicInformation</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2321301 - Disclosure - Discontinued Operations Discontinued Operations - (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsTables</Role>
      <ShortName>Discontinued Operations Discontinued Operations - (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2322301 - Disclosure - Acquisitions Acquisitions - (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsAcquisitionsTables</Role>
      <ShortName>Acquisitions Acquisitions - (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2401402 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdditionalInformationDetail</Role>
      <ShortName>Summary of Significant Accounting Policies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2401403 - Disclosure - Summary of Significant Accounting Policies Summary of Significant Accounting Policies - Goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SummaryOfSignificantAccountingPoliciesSummaryOfSignificantAccountingPoliciesGoodwillDetails</Role>
      <ShortName>Summary of Significant Accounting Policies Summary of Significant Accounting Policies - Goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2401404 - Disclosure - Summary of Significant Accounting Policies - Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2401405 - Disclosure - Summary of Significant Accounting Policies - Warranty (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SummaryOfSignificantAccountingPoliciesWarrantyDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Warranty (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2401406 - Disclosure - Summary of Significant Accounting Policies - Advertising Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SummaryOfSignificantAccountingPoliciesAdvertisingCostsDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Advertising Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2401407 - Disclosure - Summary of Significant Accounting Policies - Comprehensive Income (Loss) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SummaryOfSignificantAccountingPoliciesComprehensiveIncomeLossDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Comprehensive Income (Loss) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2403402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail</Role>
      <ShortName>Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2403403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails</Role>
      <ShortName>Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>2403404 - Disclosure - Fair Value Measurements - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/FairValueMeasurementsNarrativeDetails</Role>
      <ShortName>Fair Value Measurements - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>2404402 - Disclosure - Cash, Cash Equivalents and Investments - Components of Cash, Cash Equivalents and Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents and Investments - Components of Cash, Cash Equivalents and Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>2404403 - Disclosure - Cash, Cash Equivalents and Investments - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CashCashEquivalentsAndInvestmentsAdditionalInformationDetail</Role>
      <ShortName>Cash, Cash Equivalents and Investments - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>2404404 - Disclosure - Cash, Cash Equivalents and Investments - Amortized Cost to Fair Value (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CashCashEquivalentsAndInvestmentsAmortizedCostToFairValueDetail</Role>
      <ShortName>Cash, Cash Equivalents and Investments - Amortized Cost to Fair Value (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>2404405 - Disclosure - Cash, Cash Equivalents and Investments - Gross Unrealized Losses and Fair Value for Available-for-Sale Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValueForAvailableForSaleInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents and Investments - Gross Unrealized Losses and Fair Value for Available-for-Sale Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>2404406 - Disclosure - Cash, Cash Equivalents and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>2405402 - Disclosure - Inventories - Inventories (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/InventoriesInventoriesDetail</Role>
      <ShortName>Inventories - Inventories (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>2406402 - Disclosure - Property, Plant, and Equipment - Property, Plant, and Equipment (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/PropertyPlantAndEquipmentPropertyPlantAndEquipmentDetail</Role>
      <ShortName>Property, Plant, and Equipment - Property, Plant, and Equipment (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>2406403 - Disclosure - Property, Plant and Equipment - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/PropertyPlantAndEquipmentAdditionalInformationDetails</Role>
      <ShortName>Property, Plant and Equipment - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>2407402 - Disclosure - Goodwill - Changes in the Carrying Value of Goodwill (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/GoodwillChangesInCarryingValueOfGoodwillDetail</Role>
      <ShortName>Goodwill - Changes in the Carrying Value of Goodwill (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>2407403 - Disclosure - Goodwill - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/GoodwillAdditionalInformationDetail</Role>
      <ShortName>Goodwill - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>2408402 - Disclosure - Intangible Assets - Amortized Intangible Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/IntangibleAssetsAmortizedIntangibleAssetsDetail</Role>
      <ShortName>Intangible Assets - Amortized Intangible Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>2408403 - Disclosure - Intangible Assets - Estimated Amortization Expense Succeeding Fiscal Years (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/IntangibleAssetsEstimatedAmortizationExpenseSucceedingFiscalYearsDetail</Role>
      <ShortName>Intangible Assets - Estimated Amortization Expense Succeeding Fiscal Years (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>2409402 - Disclosure - Accrued Expenses - Constituents of Accrued Expenses (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AccruedExpensesConstituentsOfAccruedExpensesDetail</Role>
      <ShortName>Accrued Expenses - Constituents of Accrued Expenses (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>2409403 - Disclosure - Accrued Expenses - Changes in Warranty Obligations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AccruedExpensesChangesInWarrantyObligationsDetail</Role>
      <ShortName>Accrued Expenses - Changes in Warranty Obligations (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>70</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>2410402 - Disclosure - Commitments and Contingencies - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CommitmentsAndContingenciesAdditionalInformationDetail</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>2410403 - Disclosure - Commitments and Contingencies - Future Minimum Rental Payments Under Lease Agreements (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalPaymentsUnderLeaseAgreementsDetail</Role>
      <ShortName>Commitments and Contingencies - Future Minimum Rental Payments Under Lease Agreements (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>2410404 - Disclosure - Commitments and Contingencies - Future Minimum Rental Receipts Under Non - Cancelable Lease Agreements (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/CommitmentsAndContingenciesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetail</Role>
      <ShortName>Commitments and Contingencies - Future Minimum Rental Receipts Under Non - Cancelable Lease Agreements (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>2412401 - Disclosure - Indemnification Provisions - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/IndemnificationProvisionsNarrativeDetails</Role>
      <ShortName>Indemnification Provisions - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>2413402 - Disclosure - Derivative Instruments Derivative Instruments - Additional Details (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAdditionalDetailsDetails</Role>
      <ShortName>Derivative Instruments Derivative Instruments - Additional Details (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>2413403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsDetails</Role>
      <ShortName>Derivative Instruments - Outstanding Forward Contracts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>76</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>2413404 - Disclosure - Derivative Instruments - Balance Sheet Location (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DerivativeInstrumentsBalanceSheetLocationDetails</Role>
      <ShortName>Derivative Instruments - Balance Sheet Location (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>2413405 - Disclosure - Derivative Instruments Derivative Instruments - Assets and liabilities presented on a net basis due to the right of offset (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsAssetsAndLiabilitiesPresentedOnNetBasisDueToRightOfOffsetDetails</Role>
      <ShortName>Derivative Instruments Derivative Instruments - Assets and liabilities presented on a net basis due to the right of offset (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>2413406 - Disclosure - Derivative Instruments - Gain (Loss) Recognized in Other Comprehensive Income (Loss) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeLossDetails</Role>
      <ShortName>Derivative Instruments - Gain (Loss) Recognized in Other Comprehensive Income (Loss) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>2413407 - Disclosure - Derivative Instruments - Changes in AOCI (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DerivativeInstrumentsChangesInAociDetails</Role>
      <ShortName>Derivative Instruments - Changes in AOCI (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>80</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>2414401 - Disclosure - Shareholders' Equity - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ShareholdersEquityAdditionalInformationDetail</Role>
      <ShortName>Shareholders' Equity - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>2416402 - Disclosure - Stock-Based Compensation Expense - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/StockBasedCompensationExpenseAdditionalInformationDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>2416403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>2416404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>2416405 - Disclosure - Stock-Based Compensation Stock-Based Compensation Expense- Summary of Restricted Stock Option Activity (Detail) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/StockBasedCompensationStockBasedCompensationExpenseSummaryOfRestrictedStockOptionActivityDetailDetails</Role>
      <ShortName>Stock-Based Compensation Stock-Based Compensation Expense- Summary of Restricted Stock Option Activity (Detail) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>2416406 - Disclosure - Stock-Based Compensation Expense - Stock-Based Compensation Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/StockBasedCompensationExpenseStockBasedCompensationExpenseDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Stock-Based Compensation Expense (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>2417401 - Disclosure - Employee Savings Plan - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/EmployeeSavingsPlanAdditionalInformationDetail</Role>
      <ShortName>Employee Savings Plan - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>2418402 - Disclosure - Taxes - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/TaxesAdditionalInformationDetails</Role>
      <ShortName>Taxes - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>88</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>2418403 - Disclosure - Taxes - Constituents of Provision for Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/TaxesConstituentsOfProvisionForIncomeTaxesDetails</Role>
      <ShortName>Taxes - Constituents of Provision for Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>89</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>2418404 - Disclosure - Taxes - Reconciliation of the United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate or Income Tax Provision (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetails</Role>
      <ShortName>Taxes - Reconciliation of the United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate or Income Tax Provision (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>90</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>2418405 - Disclosure - Taxes - Changes in the Reserve for Income Taxes, Excluding Interest and Penalties (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/TaxesChangesInReserveForIncomeTaxesExcludingInterestAndPenaltiesDetails</Role>
      <ShortName>Taxes - Changes in the Reserve for Income Taxes, Excluding Interest and Penalties (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>91</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>2418406 - Disclosure - Taxes - Constituents of Deferred Tax Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/TaxesConstituentsOfDeferredTaxAssetsDetails</Role>
      <ShortName>Taxes - Constituents of Deferred Tax Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>92</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>2419402 - Disclosure - Weighted Average Shares - Calculation of Weighted Average Shares (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail</Role>
      <ShortName>Weighted Average Shares - Calculation of Weighted Average Shares (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>93</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>2419403 - Disclosure - Weighted Average Shares - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/WeightedAverageSharesAdditionalInformationDetail</Role>
      <ShortName>Weighted Average Shares - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>94</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>2420402 - Disclosure - Segment and Geographic Information - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SegmentAndGeographicInformationAdditionalInformationDetail</Role>
      <ShortName>Segment and Geographic Information - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>95</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>2420403 - Disclosure - Segment and Geographic Information - Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SegmentAndGeographicInformationScheduleOfRevenueFromExternalCustomersAndLongLivedAssetsByGeographicalAreasDetail</Role>
      <ShortName>Segment and Geographic Information - Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>2421402 - Disclosure - Discontinued Operations Discontinued Operations - (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsDetails</Role>
      <ShortName>Discontinued Operations Discontinued Operations - (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsTables</ParentRole>
      <Position>97</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>2421403 - Disclosure - Discontinued Operations Discontinued Operations - Schedule of Discontinued Operations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/DiscontinuedOperationsDiscontinuedOperationsScheduleOfDiscontinuedOperationsDetails</Role>
      <ShortName>Discontinued Operations Discontinued Operations - Schedule of Discontinued Operations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>2422402 - Disclosure - Acquisitions Acquisitions - (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsAcquisitionsDetails</Role>
      <ShortName>Acquisitions Acquisitions - (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cognex.com/role/AcquisitionsAcquisitionsTables</ParentRole>
      <Position>99</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>2422403 - Disclosure - Acquisitions - Webscan, Inc. Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsWebscanIncNarrativeDetails</Role>
      <ShortName>Acquisitions - Webscan, Inc. Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>100</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>2422404 - Disclosure - Acquisitions - Webscan, Inc Purchase Price Allocation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsWebscanIncPurchasePriceAllocationDetails</Role>
      <ShortName>Acquisitions - Webscan, Inc Purchase Price Allocation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>101</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>2422405 - Disclosure - Acquisitions - Chiaro Technologies LLC (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcDetails</Role>
      <ShortName>Acquisitions - Chiaro Technologies LLC (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>102</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>2422406 - Disclosure - Acquisitions - Chiaro Technologies LLC Purchase Price Allocation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsChiaroTechnologiesLlcPurchasePriceAllocationDetails</Role>
      <ShortName>Acquisitions - Chiaro Technologies LLC Purchase Price Allocation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>103</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>2422407 - Disclosure - Acquisitions - EnShape GmbH Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsEnshapeGmbhNarrativeDetails</Role>
      <ShortName>Acquisitions - EnShape GmbH Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>104</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>2422408 - Disclosure - Acquisitions - EnShape GmbH Purchase Price Allocation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsEnshapeGmbhPurchasePriceAllocationDetails</Role>
      <ShortName>Acquisitions - EnShape GmbH Purchase Price Allocation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>105</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>2422409 - Disclosure - Acquisitions - AQSense, S.L. Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsAqsenseSLNarrativeDetails</Role>
      <ShortName>Acquisitions - AQSense, S.L. Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>106</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>2422410 - Disclosure - Acquisitions - AQSense, S.L. Purchase Price Allocation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsAqsenseSLPurchasePriceAllocationDetails</Role>
      <ShortName>Acquisitions - AQSense, S.L. Purchase Price Allocation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>107</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>2422411 - Disclosure - Acquisitions - Manatee Works Inc. Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsManateeWorksIncNarrativeDetails</Role>
      <ShortName>Acquisitions - Manatee Works Inc. Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>108</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R109.htm</HtmlFileName>
      <LongName>2422412 - Disclosure - Acquisitions - Manatee Works Inc. Purchase Price Allocation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/AcquisitionsManateeWorksIncPurchasePriceAllocationDetails</Role>
      <ShortName>Acquisitions - Manatee Works Inc. Purchase Price Allocation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>109</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R110.htm</HtmlFileName>
      <LongName>2423401 - Disclosure - Subsequent Events Subsequent Events - (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/SubsequentEventsSubsequentEventsDetails</Role>
      <ShortName>Subsequent Events Subsequent Events - (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://cognex.com/role/SubsequentEventsSubsequentEventsNotes</ParentRole>
      <Position>110</Position>
    </Report>
    <Report instance="cgnx-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R111.htm</HtmlFileName>
      <LongName>2424401 - Disclosure - Schedule II -Valuation and Qualifying Accounts (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://cognex.com/role/ScheduleIiValuationAndQualifyingAccountsDetail</Role>
      <ShortName>Schedule II -Valuation and Qualifying Accounts (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>111</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>cgnx-20161231.xml</File>
    <File>cgnx-20161231.xsd</File>
    <File>cgnx-20161231_cal.xml</File>
    <File>cgnx-20161231_def.xml</File>
    <File>cgnx-20161231_lab.xml</File>
    <File>cgnx-20161231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies/>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>132
<FILENAME>0000851205-17-000003-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000851205-17-000003-xbrl.zip
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
M3_)K5?<%S_$1L/AIJ>BLT<_N>YW6E9CG%?2>[_K>=/)K-'Y(-'Y2*KU>[Q>
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
M9[=9GF>M+XV_SM&?VE0R-F#!X?)=CEXY\'5B]5NWV>MTLN8@H?'/63-K?VO
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
M(^4S8F858,8" <.ZL&[U:-<>R;+Q?VOD[=ZP#[^!GFQLQ&/%F<%@?Y!7%#Q
MRR(JJL-R :[2:-3DA5$_]_WI6%,9@"_WC>Z7["'58LB?WH%WTLZ3AD_N<R*V
MK-OTJ9?/Y^&\ZX9&WH57]W_)!MUG"ALLV68^F.T!W\='$2,L-!*5B%P5S@\%
M:\^>/>NT%[8<FNG\2$Q7VKC4J@<$%A8<1J#:"L5F0U3/-IJZ"*:+(S&=<"E2
M)19E"#),1)_<_3([J'K(YS!,G^2G-NZRN52=_MM1%+#UI6<ZG=$(2M.=?/'F
MZ%(J);51/IH-"FG)--+8.*R)4:'(1Y, RY9GX,D"*;QVJ.O3O)C-]@J2B>&2
M\0 V#1N/.;'6%RE&T@:[K# <D"S7)7GU2*<4CR/ZOS?R].#3ZBI>I;A_;G3O
MYO/%)L&R2HY8-#I2+Q07E!@?,4=EZ1L?0S+@GV@1P5HZEMV/=!Q+JHS4$I;*
M("EDC/,*"69HL2=G;:0Q9;.M-])?AXU.>S Z0I4 =[__L,'6H,/*I'*VAE)$
MC6&>Q+)U?$K,A6&(8AC/?Z@<R^?LH=%.JWR<83L*83ZT!VLEC,YE2%OXQT1-
MF!&2NQ"Y*;PI90VM&(:YMM@K!C$ST,<)"&[U1[4;1^DBS=[BJEHRQZ.4X^GS
M,#EW>>-ANHE2N910S8)+7>[\C#:6)FMJH='%J*YD^OOJ;0\KN! A,,N-92@&
M#R9UFFI!J\=UT>2?DEO/<6*&68/VV,B 9NO]F;:J-JR):L&/%R0E/3,NP<'$
MM$R#(9I53 XE3,^.L/+YS8:VRNU-11AMP!1@']/44? ?BX".T-94]E,HG4W1
M636TY:GI)JWAL8ZT3]-;)E7-1SM.$]T:_@*EV^Z/*N#>W>79'8C,NQ15[_;;
MS6T:IDK,HTAN%XJ.X8!CT>V,&">KM;04HWQF%O9/SLXX]\]14O@SK25>3MH2
MUA@5E1/I-$9@4L>R@B\#75VMO8X%D;MCU,+H#\>5U2E=8!N4,%+H(!0Q+'5[
M+M.O'0M+4H+(17!E]3Z3B$(%19SQ.L6>0 /+(M5> @JI%N94>-94[94K_35>
MW%]CN:Y2.B^O)D>88BXE(&F42BT;Y8O5)+VJ=A"C6*E%#NV'DN-P:_4J$Y$Q
M"VI'. "$G$0PCD773^&)K62.,:K5XBJ[)&ZM7GW>48.8!Z]&&F4!ZU-61GRI
M8I4"])SSV9[H!^%6T?#I^K9S / AZZESTEIGI1!8%A;#*%TM'D614C-)FB]R
M;LKCA*;S22&A1K>5@?.9M]-81_,Y:/S5G"V&N4[86@&L]I8H([DR"!'DBQ.:
M,B(?1R%5MBRDNN%89F@ I#\ZQ=N<$<6EJ>WK:."%]G<Q@#<LP-%7#GMP^,KS
M*RSU&:RZ"+/'P388V2ZIN>1$O.=C<QK6A?=.4["12'D?R]/B1!*_I'WY46>J
M:LOF%4!PSD7FK&%2!A6B9T7U7DT(KY1+Q7PV2?M(U%REW D %R8*(B3XP]9X
MD4Y%3>2.XEB%L<>=J2HJF"]FI+DU 0E+O4Z=23!2Q8888%#];)'_(]%QE1(G
M/>(.4P4RET[_(Q5Q+"5.QF?K0&PS1Y-MY+X;(8K6E['5-JUOB0.ME%:>@H5W
M>;;D9/NLFIN&F<'C@P$3RJ.T#EMB+2^"M\'RD. !$K/PH-B0WVPHLQ2, JT
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
MZ$G@]3R):^:H8()$*AWXZ0X)0P**P%'0'<B VUK-(*>"7 I'V9YC(@)C'&E
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
M?K?BD,-)$&UV%K+4X*G/91$U?+FH2:;4=E]X-I-S,-4#SU(*PU9&/,A4Z^1
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
M!18RA'IS@**F/Q;=D=,A(96_NX\HL$L+?EVB^DPN[P.,^6)QX9X=D#(9DJV
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
M)"2\PH[HB/@,F%]R679N@I59AY/_?'<%H;G07437%R&C?>Y5SE%SEZRTN#8
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
M-"\4,SU+A3=5&U=(.(S&X7ZHQ99L2-%F=^W^V4?L%Z,D$;"M1/AHB2;&$EJ
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
M0"-+5M&8K>"))MUJ/^>I7L6^5?F//X&'_MWO_1)T,E+K>8J2"F^$CTS$TH_
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
M,:!E!)M'.7/<.,9X KL5^9(-3(E,54M@8B@/.@\;0S.@N(=>:9$A+TTI)H;
M.LO38#;JZC08'XSU!OE8FKAOB'@\_]Q<XBSY\C'G?8.+Z[M<#.$4);!=QB6?
M-<*3,0(!W/T#.@^02E1/",K8K@,9I.AH!K:!&VGF#**T*,@8B(/S\&6A,XL4
M,M2* 5(5<@YC8.]%$#XK@301 _%2Q))3^PX6):LWSW'X2#=5>_C9N].T37I!
MB)PA^G%)>>,"Y,&LA5,*/=@W3$'4NQ]-[T=_O![=-K,Q_/0C%%69##X(2_(+
MXR$"225$4QDBT(I2W85,&J;H6/JW+N+SG'L=%6=:4HG3I[H@/D6\??5;'6,;
M)+T?_8A)\VKR;C:%8/J8 V#69J<8ALG2P:5SMB2V$-6PVMAQRKO/.8,4'<W
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
MO1UE@Y#OA&P7DH=/ES]F-]DL>9S88^$QEI9802%B16#D?'6RB[R.&M 0'$+
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
MO \4>7+91N1&^UB*]B*WA?5H9V6PJA9CRD$RO>[=)MFP-[\-I@#BK*#7;87
MK;)Q:;'PPW\FXWF2WP4YE<$T);VOD_RW(E5,;H,N]I)A4))@D$N)"5:XL+)%
M] B?#/>+M\E=8;+A(Q_!L8&^!>.U*OC%Y+'"_,\FO>EM.@CV,?@-> NXQ.H5
M/9#UD(7V4HAG)L7O^KUP^E)<8EYG@^OB^^]=U^PZF:U\T=<,G&\>\OC"VH;
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
M?^#C/V,>1B:C+:D*@5EP\!IOH=.MYS*M<Q,)GV.<ZN,T8%/^D),#H!^Q1R)
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
M8P.(P.$"9P#?/G 08B/IX=(EMRZ773T]Z[?(05E^V+U\*^EC!KPY3<V*0 T
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
M+IYX %FFC"B)P.*[%UBX4!?ZQXQWS2]R)NREYQ>.L[00 BA;6.*)A&E(F*$
M=@X6 LL<S%%((YM+/PK8ULP.?VWT&%AX"D/_XEQ]"P);I"8!RG(L.R!\"=B;
M<9_?"VU!($*Y'\!BAAO7@J9BYOMTRNJ*L2QE$@WFK8I%Z.7G\WD8?-&E"N G
M"Q/J][<]C"\@"\P)%S"_] (L8#YQ;(R_97/\.2//62HP .%+(YEA%;!(AEF]
M4(#T%>NU/E8+B;4WD-.?++T! [$PGZ$5HB2SWRI*@BIF![?;G$2S:646.-KG
M\1:*!XDZ7HNA7:NCEI579*@B]F?,0Y#OEJ:;FX][^&,<2V/9CJ)[ >TM@3PW
M]>\EI#&&. IAB084_-O%G9^N> -&V%SXRF@=%+J^LL7)7[7;':?1V#Y</M'R
M?M7I-:V-Q](:?]4:#"R-"1>7 %GH:ME$))HW8!I[BPH9L%L5H;3%<(D[]TPY
MJMW5J'!'8 ,TS=95SXJDKA]DOFIVKMKEHDVI(/Q5LWLUW$YJ/B5];(@4B\Z,
MPJ5(%$2P_X<=;BAA=^CN$AKI7M^>V.AVG>Z@0>IVMX'4=H:#?ND(5"X!TFXZ
M@X$MP[9D4H2M\/F4/D]VQM;4^<!I-LM'T?+@LMES6BW"Y3-$:CJ]$A*I/-J]
M\"W"]5KKW?_)%O\K%22-@(O]4+C!O0^_CO/=(*$P1Z91P/S OTRDWKHHM"8#
MATZ_T[+FGGB<2G>*)[_9ZL@CG-)RROH$A6_OZ9)2P9:\F7F-/5X 1QW7:@<&
M@V/8N*LJRJ;\L(IG,Q["=2KK)O]&H2< [&!WQ5@<W0(R6GR[37X+H-^J3K8^
MV<H580:BWDO?#)+'49!^80+N]#=)*=Q&PUYEYF;32FGFSFM+,[_V_DK?WJWT
MZ"NU\A4IR5NZ>-D:5;%\A5+4'[?R,3Y..>@^MOW/A3YM#&(%&X/3IK+4E1O;
MQ(V;W/COU J^3JQ@\\_W.C+Q/;I"?D-7"'$C<>,1N/'Z_CX4]WBJ]F'I)=?\
M]YRT/*0+[XN4>HERF(M+J_PI2&-_^)I'(VUV;*W44AT3FUO%%Q.H2XY-A<!6
M.O5A7;V6@MN><! >C:G*+V+:G:M&\3*8I Q)F?V-U",2L?2$JXB[J#AA_;V)
M=SNE.BN)J/X?^]46ST4ND_C=WW_Z:H00*@@5E4/%<T8)V1[5,X&+,TI^TRZM
M4NX:ZFNLT.ZR/- JEZ ZZ'BX,+ 1P A@9P P<M^0^V9_,?7>Y+]CC"R6')G+
MD'PYM&NE72OY<@@5A KRY93:$"F1/7RZ""5[K4O7@N_:\R]L',28RI%&WUDE
M=_(VG3ZR%>=W>BM(?]P*UK,8\/1B8A=!N,JIDQ(AOUQR]-5\5Z]XJGP8VPNP
M>K7(+/56,)]Z=D.R7DQ!$G4DZDC4D:@KDGI-I]7?SFDG47=6C28*+R+ 6$;X
M/?G71?.MR5";\?"SB)*:/3OVA54JH; L0*2GLETHX9&'XTQM01$*-A98>1R&
M/LX6K\>*"VO$62\-_PVVN<B4HL=ZXU@&2<[TE?H%2=U<Z<L(BY>[@8JPN@9<
MYS,^"P#:RY(:>.^JA@9NTX%L+/8CZ>G?THGH\B&Z_(!YN!)K<S3IL;KF\@B(
M$:<UE[%:KX]K.8#;?N$H5"3,(E(,;F "7A-YIMQ'VM%!89^%'>1SV"B.X'</
M:P&[0CX(S":#H<"D8GRH-*1*AK,J^LP4!REEJN[[:F+J 4=Z%LFU<JVXQ3@.
M9=)N(B6)(5)%:MNL"F-I\ET:]LHM&X,%C<Q"F_(QTH?+X&[^!5;2%Q,99<NP
MV"H@TVHXW:ZU6K*VBC+UG'['5DVF];*I3AT+?;70N+!6"<W6(O:=IK7"6H4M
M8LF*D76=9OG0V'&&_=(OI)U"ANRG';7-=5<K/I<1=D RRK1F4L0:&$"[EVA)
MJV,G;!;_F@-2DEXVXGGS8;1 _M1?81,'P=UI:D\F#T)+TT\L6%_[^K6=\3&"
M_\STB\ 6^QGNX<;(7*\1\.V+";F+2I6K&F:*( V'5X-&M]$;M%H]F-^@:[%
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
M;H0P1P!?:&*YD[C/K9FMAX%JAO77&':$#%MYZ"(()^<%W_4I)_DK*L:4.IT
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
M(9+Q9U3/Q)03R&@0$*8H,2*QTB7)!//6-5^1P^LBZ<<P(1;,4:O!:Q7P1\C
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
M4Q!#Z,KV0[BUU"5<Q^Q5504W8F@$5ZUZI ';#P\/^#U_?,#"]@]"<6IX3/+
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
M346Z:PG67]6RVS.M@;Z=$<]27F/TC$+](Z.XO9-8\SAK_ZPD[^K;EMES=G?
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
M/NW-+7-7R=)*;BRW_&D^7##__P\Q6^'O@;"2DO^_" -WYZ[MEZT@SD.V6GC
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
M(GTC^9!\B*_(8)(":I+EY@NE#LZ:TFK)]>4XY"3*%*<IRF=3_RW73^+TB2[
M-TB<C6,"[4S9B*GQO2R[:..J"FM0NWC:LF2"6(A8B.H&;B^+[F!$'$,<L^<5
MJ,T1W'X\[M(JI1;*]+"4L5T&C]SN%[C=9!&)A(B$R.NN[T  \KHWALJ!K)O9
MG>.(*\WWR3,MX^$6%F&I]FM.!XYNM5FH0'W<6[<O3,>I$9:>H^!36YN]/DSH
M$%*:[OV3]W*4>M1"QJTVTU13CF!",'GDF#C:5Q:WV3&A]6!KJ^?Q)#/2.#65
M;: O=LE3/GC?,Z0[K='3F-)YK2O@<Y#5'+O=_<NV,2I)TVE$GP=-G\26>A?0
M]:C6+;'C8;-C<P2WJP"G7!:,HIS&*"*9:8IR6K#LC^PXT2?1Y_YM/K&EM@6+
ME /:$3MN5/OYZ0+%3Q<8+I<B_IV'PH_"\]#[+8$N_1Z)).:)'_,I.,0?>,C'
M?B(N?>$&D4CCK8H4#P<7G?Y5[\H>#BS[W+[\T.W869'BZZO.N76@18JK?8>K
MZ2R(YIP;7]@]O%,8OP<L?'+$-VUY?U9S4>T_0L!45O-X"I"9%Q/M@^^%4=DQ
MTV"&!ZH1<D\J0NS?I@FHD3&3/_[Q[LL[@V<W8M7ER)@PK,J<)$S>P^ZX\4@X
M+^"DQP[;]@\QIFR^Z 0WTAG6=K9[;S!*!*GXL3&#*V25: @4SQ+V+:L4+=+;
M/[F;Y*6@61BF+  N"P(60WPY]1.&0A$&%XAC7TR@Z[=S>?%'K)01PN6?^3T/
M4Q OC^]]E[\SC)O%2!AN&L< Q& .K4S<"0BSU\D;9HS]6"0ZY-A_HT..T"H4
M% N+H2^)5;Q;]*FD,,+ 0NI:=*&CHQ.FCJ9TF].4OJ:F8"%U#0^R.EK:8[!Q
M@I3U$)D A)ASTQA'::R:.<;Z[W.PO7*+)2J;'Z91*C*M1+NFJK27&,\T8BYF
M' O*\V .&*S6U21*6,"U2.)?E@E6T02_18<\_% /A"J*/.U)<4$^PVZO<?)Y
MO-9FCV@"&?5ZS9/1XSAA^\=("-Z%''Q\/%C# &L;1@G:%E\>O2%1S )I0]6!
M#R#2:M"RF,M[I\SCAJ\.=QA'\139H?R.;0\!>:GGO.1]Q]$,0J0Y^E0)/.GJ
MK]2?X?TO\[@OAN<]Y\JY&@Z&7<>V+P:]42_SN.VK#Q>[/1:D7Z_#G8O.E YI
MHD!5R$^;YZW/S5XT>+9H,,\;C*,+/J4\CR3S[HHS4)X[/&33OFTPHDOYH>,]
M?&2HY>R1?F^_QQCL^?7'U/F#WZ(Z?%G6:W';J]9D#_:[)OM1W<J-I+%*]<.U
MMJJRC.4+TH&D6MNK5C,JK#9(&:F4;YM+^>Y%T=9'QUHX#030I"GA^F8K/X&#
MOT]H-J*2"!6QTB,<QX3@OW8!M672E9:DU+0DA5:<[(&3#F%!R6[XJ3$:TYP"
M6>A.M<EK^I#Z 39LF\*I+=P-OB;:<TQ[J&U_2EL 0W'M,2(D!T37T5;+J2V
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
M!V</1H/A3E>9H,YI5# EG6*8\PPS]PK?,0*'\0&5ZU2"-$H%*)AX^_[%"-I
M DN[/SHYR@#_H+WR<_FA(0;"P7(.'Z\I'BR7S@/E!$%VS8\GG1/Y64! F7_>
M?NP>?"^9O!^-W@T[O4Y_:-M]Z-^P]R;?H(#K"MA,\/?Y']^O;C98-+&\P['8
ML#"LW.JZ^1Y)U< ^M.C9'1&5VR_4_=8K;]_SZX^I\P>R9W;]GIN-SO%^O.5F
M<=NKMKD/]EL01M^IYM5[/2_!ZD]O\Z7_*"3',E^P%ZG)JM6X;9!%<YU7UE X
M+%U#/VH+*9$6D195:]'&NT:ISE-U;B4+D6^C,!5;5>/5CLGFGW2]E^H2[3TL
MO5IREF5V^_I*3C1>J:B"<3-M*O%;+54KVDMG\JZN.=17=;;Y&M.LRIQM<LR^
ML("IA4NXZ-\78K%>9<;F<80KY=BW>LY/.)RR>]4NQ,"T1MKJ:;8%3A1&'R-
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
M\CNR4!I0&E :Y%6#+N9!-MN?V\US2/_^\8>8G]Q2NGA_9<^8$WOL\_3<Y8N
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
MNG@JZ.M",TIO/SW\_*7<NT?ZU4'L*T.LYN(E<AQR''+<H0CWRKX6L^:J]-?
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
MA+!@K#ZV.DN@Y&&94=AHN@,A^V.S !8R!;OJ_<QUP*C1:]@CH[V,T5*^VCK
MMANF 0':D0GY2N_)G,)+@1]@P<)!(D.UKF!83QQS9%@6-C_MC45:K Q;!$2(
M.ZLIZJ'1U3B9J HOOCHY:F$"-<G2^6\0?CMQ_9-%&-B,MSP_O<%/,X8#K*)"
MA_3%#FES!$15YAIF5UO@HBGR@([TVJLN7=_E,^:0VR!PRNE!?B::TX#"P_5J
M:6# ]K19>2^E8E/D%YW-/2BZ%LAJ(IJCL;ZSQMLNFC7)NU5.+/=?Y'APFZ/L
MH+2&J0&'#Q)M\'('QECC9*[G*-44<$(<0APJ/2;="-A1L8.AT>TBRARX4OFI
M0N+UQ<>_!:)"F7J3N1Q-_7GZ.8YX1'W!9N>P[3L:N7?L2\!=.4EVY]IDZ[S;
MF5R.+@:#R\%X?#X<3T8]59O<ZUJ]@;G7VF336NQA6HKH6J;^ YE19Z5,.5C2
M%KX-[VGH2!*&0*E'TU/(DSRT2SDVCD_9J;39M+34-O<[KZROK7=U\6MW?]C+
MZTW[_3X>W?A71M?Z!ZAK?$T5HW87-:W>)EW3(%@]BURV%RXKJ9:V@OT!.DDI
MG^(P.PAE;^/[& S"4)B"R<@>Z7K8#X>4X,.[Q+M2+?7"R'^H%VOK=V^*D]S,
MDHM=>>2/JW-R\7<,'KD'4(D\@I; H4N'$6<;)T.(LXBS3;"%5\$W#8^*F.3!
M@;A4(=N]8;$>M'JN^1-IA3*(,H@R>$A:;5*.%2-@>8$B^>/W;@0WM].@6YI#
MYN2<<7AF>FC$_S+G5B1"/_H\"N,YV%K\Z<%-M6+*@PMMQ97!P>E3<050'?J@
M?&GR@BK4:5!>;=P?8E"B0ZXB@'E ?%&"$>I"K?*Z" Y7-Z=X;V29EC9P;WS?
M (Y!*%&&4&3:*#(5TDW5TO1MU$GFP!A:^CI0VRY;J(X:K8Y06IJ80"I/=OXO
MA:<RSLB?S#\DQ%1$?+H]R^CKFW?0%#%I9BY>7F498QR[A!';PT>T*X* 8T3
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
MSD(@-(DSNA,//L/OJ>\46A*G04CH'74]<>,3^'3"*3S!7;X@T9Q(_=5;D47
M52-N<?YUH9>$/&+CG?:?^$E)B;"DLL/L()0<^%X(RQ/- KM36EKFT2R(.1")
MO\7>R:1WTNQT]'5+6CTM[9+=_D$[_D:U;E?$O>/><>^X]RKNO<UMI2_W^++%
M#@_0AU6AMM&EGT&$H[&M!;?'%7Y)S>9+,+P_,2XL>.I7<*&F17Z%?Y@]340,
MS*"8:A'3=4&0@JS\ I? HC)Q67<!\BSR;%D\>QU$U'M!6 ZMF-U9K=O>;O+U
MS'<I(G8B^*JM+QJ1#=EM"_U<0</TDPQDHQR@'"#L(KLUB=V*L+O.P4'L0V9$
M[$-V:QZ[Z<8^;(1;>]59$"X".7S\)O"=@VJ22@SCWTPI?2<[U/K@!I4+,(?&
MJ*]M[$,EWCR>AU1-%8DXTUZ<.>YUL,?Q"?KH._ 4 0@!" 'HL:'3,\;=\EL^
MT<Y!F$&8:2_,''?1S$$S!_$'\>= 9D[7,H8C;<V4E7CS:.<@SB#.5 MGCGMH
MZ&@Q=-H]/^<Z9)3'X0.Y<3UOEYS5LNOTL*?\Z9:K\=CH]D>Z)*LM6AJ5<6,%
MXM@<CW6S29/U"8I*:T6EA,':J$!0*E J4"I0*AHF%>AGH$"@0*"?L:>X5?6B
MZ>61<,(YBT[$5AF0@]DQR)^[4VO/UC)6WESV_0I?KV_T+&WB5XDT B:M:JZ_
MFB);QT-,U&!%"@K=7H6N;XS'VKPKU&<H6BA:R\H#5&>HSE#F]JK.3/#/AJC/
M4+90MO3[9ZC0#A:0;%+<\4K(,H,;[SP HJDQ?6MH#$;:U%9;M!,JH<8*Q+&I
M[Z3A-N@4%)76B@J6#:%4H%2@5*!4H%2@GX$"@0*!?D9%8E>M&6GZ:^R[MKN@
M7GD1K:9$D7M&Q\*"@]()@#JK?:)UW-\;6S59QZ',H<P=,LZ 2@T%# 4,!0P%
M# 4,'3(4+12MNHH6.F1M*IBKG+P]S5&%T[VZB^_$">(;C[WJ>*_DIN(7C\\+
M.SC7R8^/3OW2-RQS6XKNF8 :46T]!:UQS^CV]6'=<W2L#)=A4A+Q#?&M\?AV
M/#+U=3YL2\2=#+HZ\B76MB(2(A+6"PFMCC'6./X&#3V$-X0WA+>JP-MQ%^T\
MM/,0"&O.<0B$KZ5@U^P;EL;#N=#00WQ#?$-\JPJ^'8]Z^DH>T-+;U=++)71_
MB"C0:NWOU_S]XP\Q/[FE=/'^RIXQ)_;8Y^D??LA@?_\PYU/ ^6?_HW_'>#1G
M?L2OQ;VO@0"G7F!_^_G?__KQ\>7_H5Y,(S?P)[[S>PPWFC[ JYC8=A##'<Y=
M;GL!C\/E;8#>OB#J5S;]Z>CRW.J8@]][?UZ?'Q'7@2^H'9UTNY-Q;WAQ>M8[
M[9B3GC7J=TQS8@TO^KUQ;S"\//IYY27E"7[MSADGO[%[\C68T\V@G+O<<WUV
M,E.OP[0Z;\I\R6>??_GMXO\C9Y^_?OG\=7+]\?-O)"O1,S^0J[/_O3C_X],%
M^?BQ\/U_)I_^4+^>_'9.?O]C\NGCY9\??_N%3,[./O_QV_75D[SSDKWFKBDH
MA@Y(EQ0*UP>=IS[G;^H'X1R(D9=14_PFN['D6&(SSTM^\]-1YTA^!C&TT\^[
MO]E[UXEF\"?L*9%^D&R/+CA[G_[Q856:EXO*%T8L"VWZ:ZM?MJ^M4&NR1F^>
MQYRUD)GLZ:"7UWKQN'?<>^WVWL.]MV+O-2G,VVP"CU[FY8[*<W(Q"+!<;K>$
M60//T JYIS'<,WRNR+S@MS]VLDNN-;?!]V#AKMRTZJB--OII$UB<<&MW&4:
MO(7(U!ADJAAUD'>0=Y!WM%/G9:?[E:#ZM3%<V8;!.>-VZ"Z$;5!? :VO:7
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
M/AU]YJB<E'C:&Z6VI1HT7"ARN_1:K5V2UYJTU M2F%<(-I?92]#_[6VP:D!
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
M[5#)]L.3J'_8#S2J2.KUC>+.[MZBUB[GXL,C3P05@\J9N3N!7LYXEG@[)Y#
M^\<AA5V9"S-4/MMD.M%AY^"9EPE1DZA=$ K8\Z6=T3\"C.+@*.3RA!A1M_U4
M&P$O]E9CK,4I;N*%,^Y6[@AZBSDK:J_C@VR6Q?. ^M0]Z@0LLL'$#\2J-J#L
MSZN/-HZE"ZI10]B:$UF"7)G:Y_)+CI.<F7,F8_0/NOS;K?-><=6"D^L($]W6
M"[3$)Z$6.$SMV\%AJ,K <+5F_:-01A7O:B_'#WM9?E>@Y0I4AN=;YY<?6EP/
M#CI* .F.:[DFK8]I\>7%SXK0PFQT7'L8C)'$M_O9G2/D51$!8MRIS)SS\\CO
M+3$.!\;,69R(<CDJ3A!IE\TB*(XUY7=3Q9ZT(HV-Z0=8+4MFBO<*>,=E/*/(
M.DZ)*&BH(7U.87W,"D&9@>UYNDC&6)0_3#!':"[L@"0.A7QG L]D3IGMB^&[
MLYW58685BR%0#"09C06*-9V[<<(YV(!'Z<1&LBDHP2-BVL42*V+?=F$<;B,J
MO(Z,Z3*%;LRYX!W#(0JKQVN%H: "FCTA-8'= Y1 I_[X4A[-I8_5-S)9%9 !
M0/%4/$D8Z&"6&AF,)0_NKYPDWJ@]DN#Z5.]"J\'/;WCW!L28:S4.#/\ 4YIB
M"2(O0V)+!ZVD_7"]B+C0"2._EY4?13+;>[306=9>%8U-@7"D#O..3$:H=N>F
MK,3 FW E#<ZR^JG074>J,9K!K#2(BD"<(OOBB%.ZQF2,,[/;TA@UGTB0Y6,(
MQ ;HAP(ZCGBM9]ETGMQR<85BF39+9C>DC<[BYHJ+<A?:BW8OEW?&WAIY@A6=
M6/8_V9?86X55;2/NVO\WEJS<25;1'YX:DX"!VZY24$*H*[&MW<7(F)<EV>9_
M0VYT&G,<\+9D9[V*+&XQ3YE$#AI5$Z_*-F:_ )#A !9)@M\>/M^DE2US;R6\
M!O:W#FWR)K%,(I \'B$40VU87 4MY2\6(J9AK)NBZK8S&WCVYC8:S]E(Y+=>
MYB-[Z1*X,$+]L84@1<()1,I$8^5SRL@U>D5\[!;*)F"^_*MPJ" :(%&MYTNJ
MN/7>O$OCX0%$O 9J]*S+CG* O@X)=.QUQ'--ODVU4/ 5UT+@$P ;+8;,IIT7
M%L(D\=BBZ6,U;G+#CU1XS5^2.P6#R?L"@N",[&]';-/(E3$S+Z+Y+LHD37Q
MFXRZM[$MP/@ 4PN /C&>9\RHN!9&! P:#)=-B/1U$HZ=DS5[*KP(MB4>YN)&
M[$815RQ,/)\;FS]B7,\Y> 7$6 .T\4;>KLSB,IY_@9>.J"),!?8C7@_L0&TM
M,0QO<:%CSS(K:C_+T!Y#E&P2?\UR"[63Z Q "I$;<Z?W\'_8(R):>'1+T0EE
M9AIP")$SE]]!F"8W!,>TG$M:$3T.\\NQ&3I4N[(02?^4\I$&%];H8+TIEOW(
M,BUS!8/C=)3T+B.HN?BNKJQ4_6I)FC!'QH0/FV"0UMR@AB[0^<Y=0S;C!C5L
M#M)*P036)3=%I4[I9M+Z=(5EAT:Y79<*V!J?+-6G6G*!X<J+"-[+%H36^9_1
MI/@)\I\D:P=YK=7AMFW0N9T:YZ"0W)(M<J(HV#(1Z#[8$^,J3#VH:5#JB"$$
M4T:%HN(I\X1Y4E@6&?RF*W4'?):%]MO$?:GR6O'[BWJJR?P"FZ+,_J?<I>+N
M*RROHV.:XL&#Z1#T"_/(45QP+;S_]'$";4XT=0+@P--2+)V7P(1R+,2]L,R]
M,MM[-2#6PI:S&JP<8-&(#+EEG/ZHE\/\NH*K6IVIIU7?IS ,#NR"O$366U?-
M5&%OL0YS[MBUG^#HQKX638@;JN&)W.IEG]I4"X@=1HCR&O.!+<A;;H75ZV!A
M?%E5F8NP'\E38R;F1H30 =S%4,3FO=ZGM@7$QG:SJ!Z2RSLEA-%]FE'9B"KD
M :CD4N=KRS LE=J]L][QVBR:+0L_LEJ.7IUFJM&!UZGYJHI:?[,8V9%[[QN<
MBD[OL%(S,%#C)#A2H<3"]&,K;;PK[M.*!C?!*?@LZ_,1J$T7Q O+Y13R9:D^
MJ@Y';0107#/HWX22(J(+G0(AYN+C1.[PY"^AO-5SU9U_Q62IXKU2\#UON1)
MO+=A]<<CYKP!ODLM@H-W'L2CRT:B"8ACIPE?I009UHF<4Z4WX)&Z]?,AVR#
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
M1M\H"M30@++H19UNW;,(+8_G7/=T?@4\TRN_=YD;=RV)\U^VYMD\V=JW\WR
M !YOIKSMT]EP<_0;>AXQ$XD@+B(%*=!_ 48=B\^ ;*_FRCQ1O+E8#$2D7HJ=
M6]KN(&;L>EX?H9)6&MVM\*:L\2Q_GJVYW:OS8GRG$7<*]706*K#.[3S=WGR8
M"_&GV[0260RR::DMFBJC:.L^Q<X-ZNS]P"W=B;HG]<[!U]/V];0->-H2K@_4
M80*0=EG.& >2JJ;C6Y7,AY#!ZTG[UJ9LN@_6S76;\Z^[!_^BI^HWNL)7#!@8
MZ_R78P]I 6[RLJ3Z8J1.>@ RSK<>LA3_8N%W%K<MA%5J_;V-__UI#N'M3M3N
M!W.MOUMJKS[YRA-\PVW$MT?OZEFWO]ZAW#.^<K!=^GH<_\6.XZ"7W">/3/U9
MCM;.Z^7V]7+[ C;L\T2E-FUS1MV#QS@6KP?JZX&ZB<&G/\MA^@11J==3]2]V
MJFY^5&K#-NWV<?<@U&Y]C1"]%GX].G3T1('-@\5M:YPM8?-+9#-H91B_#<M
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
MO)Z@A;GKP66P?T53[D"R=^<UT*ETQIH-BBU (]JONBY;AMTA>ZLUU4I<W];
MM>NB6S!?0KZ0_P9"86OHR7V;/G&'*A]&IE=;8%I-PKS7^U:SAB[IO5)_08;L
M*P")"S*4.Z!27?1=5[4%O2&94;;,=*$#8&BB;MXY?*OQNWIX\^C*CIPT"S+M
MMG$7L1JA)64^_E_D7E+N3^@UQ.POZ 7H<"9@;J#2"@I>VMX*XI:!;!KX%,C&
M@6J]LP4-5)=TN:(DW.VO+'PP ]FEU4JK*03AUE:3LB,S$2RK==94A&HPFR%'
M!L*WT \8]C=78MHC\TC60E-RD^Z:LK&H^!PVM7O;E9956$NUMJR$*1!S!11;
M*N,E9JPGAJN>9*VSKPJ,/S'*^1?"$/2DD[\1WY LDHPP N,?86N'X:/2[@H[
M-M9VIQ@$*8<@9%&5S(R(PO Z,ZQOAK99$+:$S*E:;S7I$):SGC:F1HC!?(FC
M.)2(")3XF,P1<; 58H;*QKGIZ8EN;II24\ALT>L@D5K8;RZZ&UVCWST]T462
M)B"[R:<=U->!B(#0K6AK&2P?I(C>/=RHHE^(B]@-@ASUYPRA>H/UH5NL-(_B
M(D6%>81\@(@1$'("8E: X@4H9D#*36<]55@^( ?A583E'267\ORW"F5^B"G5
M;;[2KHK+'CO95<Q79%>",Q4PQ,QUAF8V-.O@KI*$,:P[/=&%=4; 6QG,$4X]
M[,J+ BZ@)XUXO$#(:K.AM*H!%Q'$O3E1@=Q8J$SU#PG+Z&X\NAE>]2>#*W#1
MO^G?70[ ^/-@,!EW6/C\'C(AU0+Y6/"Y!S#;="I0>J=ZCR5*X)<MVFWM08FV
MHF77:X\^UNQ)>A)FK-Y6]*CQ1/QW.[@3.(VNP65__!E<WXR^MK5O;:F8+H5@
M"T0X7J,A$9"@/?#2$#,C=U8/N='M_</@\^!N//QK (9WXON@PU"G]CT\9BW*
M%>A6^-!J=#N_6L!DM$(L/*&\.ZX9&F8$3VOUS]']X*$_&8H"'4X9'1^H,Y81
MK$"P5A],$>QZ7@& \4)H9$$],>GE<E'<W^P.IH:6&<=WM7KB^'-?N-+1S=7@
M80P&?WX93O[= :A1^H&Z9A7A"FAK=5$-M"WNJU>(X;5*C1T2[K/ ,E%07\V\
M ?-&LP&3T@$90FW7?W;2?5,W+[<V1?.RYQO-LJ<>-?$@:@:H=L!-F[-QM3 D
M5_/TJ8/W0U1+JA+*PN&T4B@SM_OT1Y?##L-8-]H?T_W%2$W[@5NOC4K4"]NE
M):B7&D-F^S1JM+,',U:<([7M<(/A%'M87@1W'\HNF[Y#_@7DF%\%:$(?\'SA
MB^G);";J/(?=[,M+I7T5TJ!JVY=B4>VH>"F38!5S"<0@ @$18\I4L@K< ,G4
M81&P 28YEMEZ5/'<V66LUD\0$YE4]H"DZ<@<LR$9"8TQS:*4++>?Y>W:6J5M
M%5([2XU(L@!^D<3_ 5(VY "F& %;G("0E;A\9S61'D>!+Z]IER^$N*;L$3*U
M<<J@X^]I(!:$*VVAD-=1:@N9UD#4'$C:Z]".-66[E6ZJ;-Y$?Z/91"]!K86[
MYU(M*H,@$/5KK$N7U#/.OV4*9''^G2$$4DJMAZ#D5VL/N -1H_<[.]5%\7KP
M2G]OYTUY=;"0[[%Q P^-9C_0 &P;K320XO!8VT!B7F1 75:J,R(SGM:#:GV:
MQK'V[%0WUM;W$2T<AJ-WG(DY\D#HQ-]D<L0M<#35-B!VDFP/)^]8RWR4<^&0
M7#9CO46@#)8KCVX0&L.UB.+YO0<ML-!5,N]*_*J)BF(J("(#))UVJWZO8R U
MZ9GG@;^^+7HY+6#=L8\,I,G!QUL$I=(L]_GTU8P]ZD2WSY<YTIBEU'8 =$NS
MT7.W[R=51N0!R1=-"=,.EVHM^]TSM&GLFR>ZO882Z+=7?3.\Q*5< /UL9;4$
MG/ $%%-=3XZTJ<$R#^ 70J<<L;6,[H9D%?ARC90XHE:]_>5G;K_2P JSG'(#
MTUJ5L*.<%;T"6=Z 8@YL<]?*28\6Z?I7OMF1J<2]D(50CGN[KWO3ZMMV4FJJ
M;)Q]GNA6>LL@:N$<\Q.E[B/V+$;MI*0YS-)-7.*J+=3K7A,4&R)F!_6K9F"*
MJ783$0U>2?[2I7#6&S$6AU'G+'Y>%SI+>I4H%N+7#(J9G"B9>A"W% >HL[1L
MBX&U'6ERY<V#RZ^:P255=OM&DR%QT9+@&0XS+.\976-NMW=87M6\4*9[/U:.
M%DB)=5B0'4)E>U+F-;(SS1I9.5:MCYB'@G,RQ\*)A$L2-D#E:IACM=^T?2<F
M$2V$M%CAR:V@^0>V44!=@N8PX#=-&%" :^LRT^+3%D8 >5T/N(^7\JA/I"?%
M7O3NRG'@. BI;#"A9>C]&T&V,]J[-E1I!8607F<%2>L@VWS\DDZ0,@!"#H!B
MH3,0^T6)DGKFD/$W3<BHZ:9MC!W7@GG*K.[;RQ8VCW'OM&-<4KN="LY\M'=N
MAMIFC_5..VXE-'+?6NF $O'M?4^^BMGMO-.ZG8S6V^=P[M"CF&P0&A#'=M^Y
M6,7L?'234T$#;!-ID<Z%X"O$_(U,A%"92=\#O))*J-9]>54S!N\U&,2T7JF,
M##^\_S8AV.$A/I<O.5OTD]W(FD>1]YJX-X?C-HR5Z]NM\G:ED)0^L(T,=J9<
MB7<A:C#WV^H"+8PM2D&PC32J")CCCO>:N*,*I/:%(G%^^Q#+/1O%C-#TGP'T
M\$QNY?0=1X0+-A&*-27CH'FF>V-6DH0_'(IO"7F%7MH B%OHX"LHW=:CUJ1G
M]*-G;S6+[EM05B+91K<Y1O,H>?X3HG,&5POLU$J_KR)@[G^ZMP)$%!5**<V6
MIN%7J'>OM(L]:)N[HNX5 =6H=GD:]KBGA]8>T!J1 %TSNAP\^8@)W5T&W*=+
MQ%26,27S&[Q&;KC@>K%)R4&OSQ"T=]8_FJ-*&RM,DZQL+'O&+F(5S 2O(&86
M)-R&N=&"WYYB.%JT?@6F&Y!E&BBN.RLMV(1MZ&U'QAB G^FNB[>PAS8&X3O<
M UGOOL>STU-M8)TA\G<0DFFUWO<;O6N1,R>L:&-G#5K=$)W%TZ?.MPO(Y6M<
MEW*SV39BUM<S]R?=ZJXBU%.40)94ZS&(]O[WZUZ[4C;W--UJ7QF.20Y#U^LL
M$3<^/ CR-BU46D#A4BT+"Z@LTME"#JE@N81L,YJI4J.5FM+*=\W*5]\>Q!2J
M&ZBTA.(4QL(2PG;E_$65!F'3(&Z[LX0<4%^1O*103#C7B,&Y3&(*EDIE_ N7
M*8I1!IG,48N/7_$M5/DG!N4]B <QFT-S4VECA9-[%C86,]F+N 09-H'D4Q["
M2#G-G#3C>;OD(.*WL\M8T79NY0%QGV%'W=5>XF"L-ZI_$!^5MEBXJK34%JN,
M=,L/IBQ6N,16;HGK8;9>G#'5-J[)G.HV14MQ;>-*3##EZ'L@!!C(##6>_V[?
MO2T)F9=4W^A6 1)*("2E^:6=%]M5Z?R.^E;=RXJ,>1=-=^6+)7"*?+M@BZ-V
M/ ^/8Q$_V@ 6@<P]];#=F] MZ9AS]G1W@F;#^Y0T2&F#F'B'6D[;^RWX[-V$
M.<]+=X6H/=;=&M .UB#F+C[FXJ=+RFN-ION0K[2"XNI//2M(F@6JW98.OC80
M[7O5_D%:J;2'PDMA:ME#=ZW^+I:A/Y=Z,),H(U]I"\6UFCJV4'H,MK.  D2'
MCO2L(KZS$YGRM@?&O\2?.D#S -B5VKZ/YF#H[]9XI3LH;@_8FTHMSY&_.:>S
MKP)X7^4='21>\3R8Y>3)5MI$<0FU#M!Q<ZT$>@*?;!Q^6,R<CZ&[4D35:YLZ
M]SM 5TW"O*6@NRI$T>P.Q1602JYH>T#RLE5T35DX75!/!T^.%\AK,D00B82P
M,AOS'@GE^<GQ=UL\#]!0)>H%+QBCGKLD+F(!"/SCR9$J^0HD?("8$94GFK#2
M8D.AA/O8ERO%?#2[0C/$&'+%HYISI3K$*@$OK)HD@&<:4.]-B9J0!=H\#=)H
M/[ES;+M'[@-H!<E*6 L1;AFL24.%KMQ>=+<OR1[-O@CRT9O=^35R$8.>_!+X
ME&TN*5M1)IZ(F@_R/RI7CB#9\,%LAN0^>?QDE *9*+V>B?QXOBKMK+"P$MM9
M[J)Q86ERV @Y#M]IST'$,TB8!@G7RLM([N0+42/._\Y!PGOZ?,MJ,^;<6NNU
M34#(%C;G&^CNG(I<1/N2"W)Y9BJ=WT+;^FKFR="Y9C(4TP%Q!EE(J>T [+5%
M69NBV2V>:X;?$MBZ[<<J8"]3SD8S;8F]4+8F7PEY8;Y<#GFF43DPEA7L3"!4
MA.V 9JIL'N#.-0-<*2H_]9#W^_$3=S_ U0H+7R1_BGX@A(;<J]_D3\A#X2'0
M*5?OG_YXY+, '2D8G3EY^D__=C 9_/<M]'W$;M%RBM@1('")/AYIGV#/DXJ-
MR?!@JN8ILLU/C :KCT=/4^;A#R* 7!X!7W#\\8A00H+E!Y<N(29#\4 *<@3"
M@BO$,'4GJJ ;L.@4V7$- ?X<JX3=US>O<_QK'C20_62A>BS?&0Z9R[^L7!$R
MGYV<OC\Y3X)N$<E]Q?Y"'DE4.1?+%26"<$[D Q%KI)K$#VZ4_LP+8FL?OI@8
M*=ON_P3<5_<HT32$N(?8E>^*6&$?>@*+"T2$(_"O*9,+=I YBSYQK] :>51=
MEG3)D*C*^V)JR0//SYVYB2%/M/%CV]Q%R>$O2V%T/F2;O):GT(/$D2I&4^SO
MKOLY(L[F@A*7)V=)TK$CT595J9>0#Q,N^J]?KX>D@N1ZA^9! WI&YKKJLC?1
M1_S;E&RN%<HUV OH?$/N6+[Y#<O5=9,]VI=OF&6F(J]%/"PY$\YE##V4RG&%
MIKX(**)O_9F(+*YIP-2=Y!=(3*O0-5XC]341.5',H:G^%.H;$258*.;DD1Y
M=Y4D?PK%318,H:R)Q!:SG_*LR/X<"HPL([*31.X]]6=!M?'J$ZQS@Z#ITCYB
MRUOXA)?!LJ"LW6CLKIIX,-M[8+\(.":(R\3@*2:JO-S-PFXT6D\8)#S<I(PW
M*R\A7]S#37A#=*B'O:D\HY$X*C0^I(+D-LR<J%?&N*(LGF&8ODW&^1Y@T2+<
M>FFR.I$L9 Z$Y,3//MB>"QGT^:R-OHCZ;3KI\RHBW:.#&TGDQZA?TVIC]2][
MJ?PGKU1:"P<G#_TM1( O_5AT/Y[\*-]:$$YB$Q/>J6;#QHK2V9L4;.;11[Y
M[EQ '97+RJY_O+N \M XF1]\I>9R@2&C$^0L"/7H7)CGS<WE]HS47.3EYZ:B
MEPKTHY5I>H%&CP2Y\H/L9F'?E#FLB'%)*)*I7IV=A!02"ED<P:M)1*M>&.[5
MBR%5&,%4-<O_DMEH_H"XHUDR7\I(9UO^&26S!<_(:AR0VXJ6*=]PT=)HV5*V
MK0I-%RZ<&-A*EI1^(;'*W:-@W$.^\ T9]R>&KY&_0"Q_<BKG-G>JV@AW&NXO
M\-%,,X@+"3)CMMJW"_^@)__"H\ZWK/Q[TME#&7Y,YEE,(A!SW\^0N8]B_!""
MC.G,EQ^+!E!5L EP$]ESHK79T>P!\V_J#,8F_*O!U;["2P*8E3#Q.K?011-Z
M#YE/Q-B^P*NK(!KH!<V,A-85&KN2G15B0F_P4B8)9N30"5M2KF%1>4;$*+&Q
M:M?(IF##A"QW/VH^Z6Q\N:02)C' 9 NQ,!&Q+-R\:4ETK;FR3E% #A</*)1
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
MU1:Q)#!BBFCD2& (&T*#Q#()T\'=,HX_]D=?'%UFZSFNA@>;P?LZ7MGRQE4
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
MQ^ 0XAP;2/DI3I92%9K=0+2^86&I-,EHBAR18%PYQ9!3+I]4P5+L,1Q3'?(
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
MH$DS'D#;BP9',#I"0H1P#&I@H#IA+"GN\.)^M$3:@P!O7+D>)![PGE9SN##
MQ8%V,9T 9)JE_7/H\4<0QMU#M3=5,ZOG#P)+1ACJA9WD_'D?+V*<O9TN \9?
MQIDM)V-2L:QLW;RI3J:^''_XM?]X$L(BG9*=K @Z%KH6V8A/JOME!]_7L8'?
MP?Y4P;Z4U</FY3QO1WG3A>6=$K393/_P)^(=-UM36S_^M/#4.H-!F_:2,\1D
MCGCSCB#.F3%)V(3;Q? -S=EK6];_L)-Y/$N/>&C%[=/-"TWA+'&6@FH#$J"2
M<9" SL5OE>"$@J(C^JFG,N )W6U:IZ-(;2S]\!&EN08''$6UG9RY27F^D&96
M)V;S>I%^:[F$VR^9=OT5E'D:DU"(,A.0"2P@YI-!SD5%J-:$A>-_J#40K(:5
MX_@X:U<V>.WW!<_Z,N$!)0S:*U;.([NH2<0$K"EBB.4'=)YNV0IN&-ED2K7M
MHO#*X2AM0M*2G)X3B[RM4!",]"1YJV5\1OOPWG.\VV;<17R'6RC?[A;_0I'*
MZ]Y/;'FYXX:\0W\%R(;9''3E#:5(2<&R'SF?7["C2:<T>US4_J@WY/[Q-:PP
M![6^UZKS-\$'0#U\GG/YK.KR/IE[96PKY&P^:V:VRIG27T_K+[8.V1576S\[
M #&?'A3X[7G M8Z>,<=ZXE\'E?(.A'ST%S',\\/Q?0C]R^<ZC,_UL2S]>?5U
M(2%"5_+)_[(B/&_6X1[1TUNB9].9G<".,UL;W;9K%P5CRC'-8,=5P&((22,1
M#+!HJ4J2&)ULAWCK0[S:&6VNIZ.)?#3=:IWH6DCW4>#,)FVKGQ$*SX6,D8%^
M0G1"*M&(4B(.1:%H8DYK1H_V!FY8P#S6R XF\!%!>S5M[.37>CJ_NBT6LY:I
MU8N:S?C<L;/"1)X(%32G*%K$E4B48E! J2-.NR "/?H=]" H^1ZIPXO^"$&9
M'_DTJU<^6]Y-=>BUT(K0%"B&K4-8Y+C".6 :9)4BIBY(*O#Q/Z!Y9CCM81*V
M _8)/7(',IN;=T3W'A'E^K_5>5G%F+/2KH)/USDDAQNL$%3#V28I8D* 2B9!
M4)PSC[S@<.0I'X/M$'4\TO.=0T+VJ.9F%"2W>]S4"XY;#E4$#U/'<HTH!H=4
M2-FPL%&M)&4--[A#3?*1*B8]*Q0/-S-'J#ZL>R^U1$EV639Y=C9?)/4\5&$Q
MQ]1H$&-T!@FK L)1JKQ1."64(]AW4#3$7_KP>!-S4+_#C<=])>R%+)[P:';T
M/^P_4L&MBCA&@8)U#C:.E) QV6&$?9+&QDB[O# >-B#S\'Z(405_4# #R3<U
MV];^?E?(;NNO" ';14I+DA^?!>DI\D%[A)WV@DJJ">^0364D<^^PCMVQ)V#8
M2\T=[H\&O;R;^OFM63%;O*V$A7WY8!'T.^*KRZO)]%N,'^WUXC70Q(XWT%UP
MZCTVE]=O>]R^/6$?Y1MH6WU;W/;F%9"G\!_YM>KL517.TNOIO/X?L.J>-'K:
MMB_ KN.18X>"$*#2.-A]F?1\N?_SZ))A>T5W[L?7IR_33-:>7*U:%X*8P#"<
M9#X$CE), LXT*98\B9@Y[1!9-\)%PC"S-QU#DGM[!+91!(UC%\C?=5!08T&?
M@(,>U R+,#8!42;LBBN;O'<=+II&4/ .CX\NPAST3+R-@7L7;3.OXX"/.M8.
MM>Z)P.KWX61V%Z%7?<CY_[/[;?ED8-/Y,02=:\A[3-/G:NJ:6%]GS>%-=36?
MY3BIRD.K>T?>F++]S=9+;\_X0P^I/N6KA"_E9*#9O^E]=[6EIX%O'QB=PO3E
M:F6K$-6;WX]!PY#3]P8ZN:QN2WXL"M WPT6O/3G<.*OC336#Z2Q!G ]?$@T[
MRLEEMOP6 9H/?[&WWMU3VK*R@F/Z+0C].\HV)TK=W+!06%'N(D$^:8JBP %A
M[Q5*5A+#D]).M;+T1^=ZD25S/[X730N*@Q7*2$0=5R@F0I#4QB*AC3;<"=JI
M0O0XD1=]3N[C3&K]RV^T%']/DW[B_?PRSQ;H2,N5OLV!MGMG13":^.PI(BX7
MB6'9>4.%1H[:I%P2CL7C]YX=!EK]B710W?\QV:^:67GYF.C53>''N?<Q+@+K
MRP;&6A@S?YTFQW6:K)FWWV ^/GV)D^OX#FS3BSW/FA8=%YPXSIE-R#(J$:>*
M(IFL1A+3I*C$T7?)R_$CGT3#2/<8SJGO&<O[QJ<OT]Y@N.JO8-(Q1P1%C J'
M)$D<!2PE(H%)+9STS'30@\;)"G,TZ-M?J$<,NNR"ZQ=VN<>"8*\QEQ@))R)2
M41.8$.\0#B0&0ZB!4[Z7 +T_#?#V%.OQ0B_[EWM%7NZPL$%*D=^H!A\YXL9:
MQ!C&*'"AK B<$MDAQFB<?+1'!;P]I7K$N(-O^\4=?%N$Q(F0$N:#&;HDEFF8
M%.EY"$%;HTB'DW:<V+;CPMU^4CU.W)VD6:Q[!]^#7HNHM)$<9D8'RG)E#X,$
MC0X)[JG76EC;)>!,_KD0V%6THWHHAKV7N(X5@*0<88![/Q[8AW)#R;?-'I/[
MGQ560&<,"^2=9 @4,H$2CPI%*C@VR8G 6FD> W/TP7YYE[-NE':RC)#++SOJ
MZXV1X-L;%\E0$5U@"$MB432:(THQ@Y^L\EYH9O#1UVC;?SK7U(CH75YC%BA9
M$/_[M/[C3;X:]+'9'2I/MRZ44X18 @(E"4P9AFVN5L"0()J#0JFL2OVDR'E6
M6.E58*.#)1^OS44,BQ>-.X/EZ=:%B#2IR.',]S3DW-"Y1C'6R.(D<=#!^BZ/
M1L:J;=,W6'H5V,#*RNVA/J2>\EO\ DNGFLXK/V2T%HQQ%>O9MQS"NXA4_N>\
M7#R&''FX#7$X8W/^Y"\.K,,]2==FG6Y3LT+JJ#SS!!FG ](\1<2LR$'\QA,1
M4E3M<N*,S/&V>(K-#0OMC0E4^KQ%*>2TLTC+&!%87(9:PP7U'4I^C*/;]3>M
MTX%E-];1?>\Z_F6\JJ._"<B\FL3%%%4/;KRW[GQK<-77$(4!7=D[K!#QW"("
M&PAB4B04@S<^T&1)E[(:(T5=# ;! XIY4-7A24*'5"1N4N2]*7.$J5W)[[_F
M=E*F''<*P@8E8RC]HNWH0X:[?HSGJW=8O\;I>6VO+DH_^%NL+8..'G>\A9Z[
M1(JKC$.+FG\P=@TDGLZ;V?0RUHL _FEUOG Z+EUU+[[==6<G)W6TAYS*0=?1
M2,5 OA]G?*S,IOZ/%[:)(3]XB54SY#I9.]:-U_HX.+\)CMOTR\-1E4_K^MM9
M6GQU=K787?RLO ;D'(RHWQ?J!VP2U[&VY]FM/[]<4-9\;O)]Q2H&,<<9WKPK
M:1YPT/Q:VVIQ_H_-03MA?XC-K"[]HF#/$V(?U'I=3^6@^]_<-?&?<]A]7V4'
M2//X[\.RNV7PWZ:SX?B^65_E^?*!"9P_2ZT%X/M^.BG]8'=)[<8>?Y=L218L
M_EG9P#\MLL,-#) V)!TB@WD[RM:_X#DH2<< [79?/7PS=U""?\_/S:J;(V @
M4A85NP?L>GQG[&+8VR>1*]?_ZVE]KT+YJZ^KO%#W2I2_CT#C[/9Z?5#B<H:@
M<C9?5N9[&5.LZQAR-I86ZW6,6B&/"+KWDOFW./MM6OE%RJS-]4%:]E$HE1/)
MI("<H@J9* 1B*9%<GCT7FM:.^U87GB/)8N&YW$\$CYH6F%F"?7XYQDE"WD6&
MHI444>L-82;F5V;'[CH>:)Z_*Y#2NRCWSZOYF!;XX13^7LX6KZ_3LHA(LTHN
M!QO+H@KG&IQTZ*U@DMCHE$;*2X]L$ &QP-4JIQCF274II',@Z'2:U.DAA#I>
M]:;O&;KYMY4U>=]T XY>Q"JF$HR;50GWA[9=UJ%WV;EZ&*[0R@<7/45*,=@$
MO+"(88%1,LH(PJ)W*AU[8,L@D#TRJ1\,T[?Q&[L@\[91H9W6CG(# D\@>A4<
MC*@-2BPGL=.16-%/VNL?!E]=9+?W\7G'S!J]-]_//? //SXNV[4N=#0)BYPB
M*26/%,$Y5SQC-RDWJ1!=GO:-\]!EN.-Q,"$>_W&XJ#TWR,FWZ+EP.-A@8"9T
M#BWS.@ED#7:@\_*H';8FF@[O#$;*XGR<A]R^ NY/T5]0L-'T:]6N4'#X.AT"
MPHHF9!080=Y1>I/R#PYFTT%Y'^<QRHC*>W?Q'6!?NF\&[^@L6-NT8([IH#U#
MC F/!/,:"4% D0-NI4Q.D] A5\)HI5-']A;T)<N#G6QWD2Z3R?2+K7S<S_>T
MJ9_"$8&-UA%%4/60<\2AD')$/0XJ*2<45AW4I;$JQAS&$]6S8 >-&5OC?+Y-
M;O?007YH%_0M*2N=8*4$;'PNL;9%81R14BH!D^W@C,!2(:(QC,D<B1$3*E.K
MZ,AA^%S6GICMSN[FAD76UI.R <Y<RO)!Z9&GEB'EX.RD1@B6_+'[!WN9T>G
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
M(L%>LZ\9EX8)0ZPD8:D .8(H7Y90@9RB"MH!)BOO3+M1OF;U\+L\7S,!L6
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
MXRDU@@D&26&Y<^"L:7"%&/B;SJU@/G#C9("9*XWG/ECMQ J+-54. [J;^\(
M@G2#&QF^BU.YEO'M*>KKW2A(F*9_9(L_\Q[WJM-7TOSZ6Z$5-V'$T-Q)F(?=
M2:&<1!)62VO]^F*] !+<>X,18QI"CJ'*L^UO4(%:5+N.]NRQ7I55VS36JQY:
M@X[U^K@*/3]_V\=Q.A\MIMD)O].]SR<86DL]UEY(Z0D@E M? $(D[].5HUNO
MT\J:?TFQ%F#KRY@IFOC[?'F?CL,TETY.^@\>+)-8P24F>;X^[A2$F H#"AF!
MI&[8/J8-]?;-0-,N2J^3$8/T)!T*$<Y+ )\MTO%HN3H9S+*_0 *PALA[RU@>
ML .U<J:<H;D$ [QHM 5-'=!](V@N+S ER*81D90S)PW27AFE"OD84/$+RZ$%
MIL2:".T ]SJ"#;A6#(<.H)27EA'I,2\P1!H#,6RCH;$F:T<=Q.'U?7!ED.;$
M\"C2TD' BZVDGX]'I^Q_.G&>"0(4<"+4;XQ4"+.BK0B#/C//M!:B4AG_K&U\
MSIM,K]MDUX;@@ "E--C>$@MN<E>4'1(*NCZO76ECMSIV!ZM#S/IB3Y?)KH4-
M!AG-LWH[I+2!#+A'6*6+]Z(X3R1&+$M:QNF\X\K1M+BUAY>CM85E/J'*0>\!
M#TM]*K@"Y7C+O(G/"'N>"(AV1YDVH1L>I8:4F!AAC0#%3&DJ"&0>RW*W"3&M
MX\VB\\0C=$_#]D&]/(+VFY@X(&FM--)3*Y#! CG "S0)-O$4/4_DP/DI&H'J
ML#EJ;O-?W\S57>YS>75]:@:IOU1HO04),EH!H"7F82JCT.?I>0O\ 0#Q277.
M$T+0+ZN[AKOO!8K/%N\7Z9=IMGZ*;H7ER?Z""9?$6J@,X6$UC[P-G1V5$Y E
M\>0Z3_A!T\5)*R@-;PCLYR(5SA@&GD *O-.&<N0X*5#R',=/O^<)%^AQH1*'
MX(!Y]ELV'W=!M<=Z$V6HYL%N1D(#*Y0%PI5K.TYY_,AU'F_^'MD6#6)?A!OB
MI1/6888$Q9P!K9&'SCQ. 1Z1!J[)YW&WC^5;CR">Q__X.[IYPCH:-""!]$@9
MIZBV'F[5(2P1H-+.].OS1O:>&\7SH"7ED09>$$MWJ!@:6'H1WLB55=O4&[D>
M6H/V1N[_Y@D1@&-8 "8!E%Y1B57NQ26)R6_D :_'<[DR2QK</%$/S+YLF?/=
M!X"@IYQIF%\>JRSE F&_PR.@Y Y<.C\4-Z9.--_P8H X1/]FVB"=H"Z18.<A
M5OLW3SC':%AK6N^!<\1B[WB^[)2<0@.8[=5KKIM[!"IKLL;-$_50ZXL=_=P\
M89B#VBDM%.?("TF]S>U9J;!'7(GXL(W!W#P1RY@N\+L\!W\/E"'*,XRU-MI
M"(TK#$QL&F1+')J#?ZPEW0YPK\-I6W C.) 8*>>U!E!8)8O%,76:#-LR;JS)
MVM[;<7A]'UP9I&T[/(H,R<%?$*8\A9(+"*Q 5AJ<HR 1-3@(T"!SSOD<_"OC
M7\'!OQX^ \]R\\JR0G,#/)#<6 R5"RKFF+M2SZK?>*,63J%BMZDO ?Q+[!CG
M39:+ >54:,.#4:L<E(#+$E_%</QV^'DB)89 [GAX^Z)OG62Y7(/0!0.DAFFK
MF0!*TA)1".(/X<\3"A%+D$@\!CX@#3 ?G?)$"Z9"9T$N ,TU*IPD1+"*='S&
MT//$//0\(+4,;T_N('^DGY?CT?RU9Z)#FC("D%1$&15&#BO];L&@#5*\4C*4
MU^?[89026F,". \+'6RXD7J'BF8>Q=^:U:?O1V75-O7]J(?6W[X?S\X4P]AK
M*)/*:ZNX(5AS5(*GF>GST+3;'>O*+&G@^U$/S-=_(J]![F1)/& *">,5,A 7
M>(29E0U[A[L3S3<\FH]#]&^F#7)__!()]EI\/[C&DAMJM>4"*JV5)JJ0TRK:
MZX%*-R?YE359P_>C'FJOR_<CF R<626%95)HX:D0KL23L#[/]@?&F"[PZXL[
M']>?E^D_U\' =_EUI)_"RT]E?]Y?(E$$,:>P(%0& )U'',.R;S@2G]=S:+X?
ML99T.\"=D1BG\_T>*I- 01WGQ& +(:-.:8Q8(2/'  _;$FZLN=-,:(33Z^3$
M(&W6X5!A$!0XG01ZW_,)X$8A"1G$!GMIJ%8<%++!,+P.S_IL04_'-1^%S.5Y
MB IK&0?2:D0)L4 C[FDAGR$J/@U?_;/#85H)[0#W.KS^$,44!%N9.6:1Q8H+
M570M(Y'TP[8:&FNRMOM?'%[?!U<&:4T,CR(M>8@^'M^>< []YL&$"YY?)"TP
M$!A2;*F@90L5$+UN9;;E%UH9]:Q%:,Z;F*;;G,^* >[R31H&@68:,@=L@82'
MLL^0[39<0F+/BCO$K"_V=)GSV0A"!,68,61!GC<1(5)*S'S\,N,\GHRQ+&D9
MI^\Y_Y WSGD@*5!8F3 <<R9XB12'EY8%.I91/6+8N[_9=Y1YR#OL@B'BJ,,^
M]TC$X8_M1;16!3NETI'.Z_,^8P(!EL,2K#9(*?&0%ZA(3K7LT;:(]SZKK-JF
MWF?UT/K;^^R95X.D2H!@CUDLJ4<F&/, %. YK/N\"Z_;W;#*+&G@?58/S-?O
M$V15L/$!UMPPK24SV%M1X(&EA,/>/>M$\PV=@^(0_9MI@]Q[NT2"O1;O,T 1
M!$KH(!-2C@EH@W [.<.\T"MANO$EJJS)&MYG]5![7=YG"DC#,.5 :LU1$-O[
ML@>2T#>'MY73%V.ZP._RSI49P<0J)0T17#"(.<"/Z(7_7HWW6:PEW0YPK^2L
M$!B@.=<0A/F<$6(@Q,7B&#MTH5<+5]9D_4/#*+R^#ZX,TK8='D7.?ZY,#51*
M<03#_U#NAJV)+5JHO+B,(\-8U(^?*]>#9N )#$YGEPFUI-,OHQ[3JQQZ?6*
M Y030R"PF$#G$"Y,>H5LOSE[6SA/BMUU'B#6E\CR-_/<DS1;U+S[MOG[$I:'
MXR'@L+5AB0H5M((6V'JN^@S^>"T\C@7W$HE[N9G@  O#"H6*2@0H">,(M\6Z
M6H4?\1F1S^,0, 3B=P7^)7:,\V:"XPB(C3<0,%9K;#$6NL"70WEIB9>&0.YX
M>/NB;YU,< ![K[F5@!'$@9?0.U]V0*/C<[B>YZKG6()$XG&) ])N<'[ZQ7B<
M7^J[?#]Z..&)TVL[$FJ1,$1XH20BN:<T >6BEFD3?V)PG@N;AS!XM0WZP#O
M %,A,J"!AH#FR28UQX1 6.)+18/@B/-<%-TSJ5N&MT/75#-:WN;_N=#P+Z-9
M[KT=&ITO"9>KC2_W 3_477.Z>JN:3#85CF9OYM?9XNZ)9^S9'&,?3]#4E]".
M7.L^6WP,S?^8CM>+C8I+QE7R$ZU03R(M!<#P8+T1HBC!#F,%'3%$2>Z$KC2[
MG ^/ZCZS)^I(I."2A!XL+/$4$(OS*]JW."#!&ZQ_6W:6[4B[![UGV\6M![?9
M93K^^2;[\LLDG>9<(_DO.<7($XJ%CY*WZ<UHYL( NWHX<%2_YZE$2@*M55A:
M R@5@''M"T"]]'U>]A!Y/-^:0K.V4*IG/575[[8Y!P].7SZ24 JUIHXBS$/S
M+>(*D:+-!# PS+/T1NAGK4)Q&6H<U#'W6;37T@FV7:<^"!)&D71Z,]>C^9_[
MQM!#CR9"(\0LH<H2C1W7DC%1M%)BVV?$0-7,*9W.O"T!U5M,XT$(-I&8']+1
M+%_"_!J /6:KUJDF88I8 2&W0 8@1%AS*5,@P;7HTS5N$)3I <2!T>EMEL?Z
M-N?3MIY$,*J5EXHJB9D0"&A5F#J<0AL_5W1VYC4H0D6A&#W?O!M]G=ZM[QX7
M\6_F;Z=WTU4Z>3]:K.;I(O<P/S0#52J<**:\8A1I;K!$%FM)>2$))"Y^3NKL
MF*B'.:D+Z*))8,+R<#']O-ZX$6?5]7^J7$*8$YYR"XVCGE#.I2Z-)A?@&MX!
M4 ^J;QFU:*U_2'-$IO,;=9=OTE]=F^PNM&6[,;!?X4>*)$Y"A0WS%GKNB?0:
MV7(*%!;%YVOL[$"E!UVW!U@KG?O=:))^RIYPS08QYS?OT\4TFU3IY4<K2# R
M'&I./&)>004X<P$B8:C%,H@6[PS=V?%#S]V]3?AZR\"SR,9I.EGF2ZAO!ZL]
M9P[[4O%4K2.A'%"+=/A_&,8_8!CQLH!881:_82PNDT)=(]A;D&BV7+U+5[?9
MOE.J?>&A^YY/L-&4,,*U8PPI1R$QK)#-&A;O#RTOFQUMH-5?1J\M;<WH?KH:
MS78N A_2U7HQ#_/C]M-C8TF5\HE2P786A&(H"--2JC#';L=2+X-!W2!+"[AL
MJG0!WUD'D:J;8J<+)Q)")B7%2CLDA'/!#+<;J1VU%.(&I+G0[=/.L#NG;T0P
MQ1>KO.&Y5)\R/YHN_G,T6Z??I:.")] *1FW0EN2><8T5A@H)Y!QSOEK&NE?A
MJ*"$(Y!1 VT.@8/!#-_B8+UC)#[Q^%D=%2IK-]Y1H19N%^^HX+$#PC  @?5(
M B#R3+U;0 %V!/5(DZX<%:HJ](BC0CV4AG'"39@EWI/<K9 #Q!EDK&PS<<Y>
MCJ-"9?0/'77'07$9:AR\HT+GVCN/Z;[):9-?B[*\NK;IYU4PR7(#;?7P./Z<
M2.U2L88$(0FYS?W)-0=$ JP=*.0W&L9')?66ZJ7M(;I;! ?$H)/Y/"K7D2"G
MJ$%$&JPH1%;E68D+#((9A88Y'72FZ?I,:H3C]\FI0<U-ET>EEL[+W#H@- U-
MF(1&7*_GD^.99 X\GC )L6'2,XTH1]P+I]&NM13(!I<+=+:5U($FLM:!ZF^K
M<7&?+4:K5&?SR2, I]-:'BN7N/P.6:.E)4Y#[*B$1!3K<>Y5G[;)V4G1!6+1
MG5[=I//Q0]Z"PRK>_V""C! \B*L1 QPP1('F10LE%?$KCL[<W3KNZ$TAZLT[
M,@_^TZ/QGVF=#GZD5$(! \(#YC7Q1C-/&(:%G-C ^!QBG7FZ==^]V\.K-Z-P
M/9^.I_>CV?'AX-CC"9=02@F#>"S07FDH@WE42,8;Q$MTYOC6/1-: *HO"OS^
M\=,B'2W7BX<:(\/A0@G 1/H\_0SP1AD3QCQ0$EU"$&\,=N8;UST=6H.K+U)\
MS+ZDFPB2'(\:O#A:+C'2&LP\Y5!PA;"&G--"5@1!O,-39SYSW5.C3<3Z8L?C
M 7,.S8F]S&\?3@@24@N,B'%"$T4%=J6ABXGH,VIB8-N6C<$Z#P5,6-+<9(OI
M?V^R()P<)4X73C@S^5:*EX00[C7#@!0K9>8 D\/>DVRBQJ.,:!&K[X4I@]QI
M'!9!SF1CW&:+U:=T<??$7^FT@7&P4,(,IU8BH8QGA#$'!2*%E!;Q7N.VJUD7
M;:KNI5G1%D[1VTQOL_E-5>T>+Y!(2H4V3!B)J <"AQ^@M((&>>-)!YIM%:-S
M1>4^-W*?>2?JT?*H'5FWJL!SSR63QDG)B1)*ZL>5%94L/DAK( ZNL0YO'0-Y
M_H!O-1ZO[]:ST.DFFVCCW^>+)^Z[.KW.%NFGT=<:7*M==P(AD5+XT"=IT J3
MUHG'V=R2^.B-@60::(M\72,[9#;FT>]=L?%9W0DTR'*,';&<<"L-4**<:\*L
M/<!SF^&RL0FRYV?C\\$^BG3/JT@(=811S! AU%('C'@\\+*H00J,@:0\:)];
MC0 \9S2)R>[NLWG^6QX]=>+A[S+$1!) \M-[2I&AT%DJ#=P&'2GI#*ZTP_T:
M0DRL$IH)(#;!W9"%)8[=I750 GK:9VZN-G-A5M5N=(A)/=QZ"#&Y!"]H+)PG
MF#"((>$2,<Z+V%\EB4=];OQT=)Q0F1:17M#U$'R='JN:P+"J((B%Q:VAP(;.
MC@L,M#-JV"<.K6LZVG4U#L?ODU.#/)NX'"J=VV%&3V>S**>9?043C',Q+:*>
M:*0)D82@0EHF7/R%!@/PHJZLR8..,RU =KG.EL8 SB3F%%#,#8=("E7*:4D\
M-0;@2QU+C?;PNFP_>V:< 0H"Y,,*Q%IK*+&/^*'X2)L!^&3'<J--Q,X=7&,U
M49AKZ<*:TX'\ZDM3V/[28![OWS  1^NZ^FT1J$OWI/3Y3.<0X# (*9F&C[:7
ML/'>]P/PN8[M]&TB=H[@&AJ::!6E N&PVF>("BC+%G(6/\D/P'$ZJJ,WA>B2
M@B@(]P(";1&TT&+CB66E9")P]I)=HV,[= M ]6;:C9:WQRRX\'6B(98."V(1
MH10XSJ!YA*')#:$#\4>)W1V/ *>WGIW-TX=WH\6?Z<H'0V.I5F:T6#Q,YS>;
M+&K'.OGQDHD!6J,P\3@,Y.9N2"U+&Y1*&$^&@?B'Q)*A7=SZ[/YA_'MY'EJ9
M+97*)PA2Y@T2DF+&I5'.:%K(CKV,-Q &XL719 !I&[VA>6KL[IMMP6%C5U."
MC5.6,DH,IA91#JDK)U*F^0!O-.^'3=WB&+^PV+?=]9C/<[K,#X#7BWVC3*WR
M"8  $>@I]T$>)Y4,2^E"'J1A_'[#4.ZQJ,F++M$;VBCS6S8?MS;0/%:6:(MU
M,-FQA 9QZ!AP#NQ0\8;!>&_8H=R7T?%8$PUE?UO;;:2\5V%=)PPW!BJ($$44
ML,*X\]:X>$>.H=RI$6O@M(!67TS8$Z%RA =[GDX@#\16W =+WSOJO$!>%W*%
M*35^*V0HUV)$LJ Y5M'&QQYGSS+ ++]!OI+.(VM*:+#.M= V%PD0B*#7Q<YM
MGD4EG@]#N0@CQB#I',=S^AF[Z^MTO)I^2=^-5CE<#W:TRK<97Z+YO7L;:RT]
M(R L:#&S2'/,X>Y6+>H$P952K;P&;V.8;RB;T'V8!E1B"B'9G?Q1(4V#:UW/
MZFU<6;O1WL;U<!NTM_&'T?SF5":2\ID$28X8(88R:"T4#F!1"BXTC[^K<3 >
MPY55F[6#45_FY:9])X_8GCR5( 0)LI8'N4/S+?&\V#&F0D'!ANW7&Z&/?1IM
MA,7EZG:0_K7]JO1,!V?;*W]/GX4_?2[AFGGDF,?28,* T!+X0A:D&J2,[>R$
M-$H3W_A#QV-03Y_=WA>#+3!,<!I^0!G8"[P$)9N!B\_N-IC+".I.JLU1ZD:_
M=2\:$4)@HST*RU$$@!*&:%VT&6 .ACF%-D+_T(TC<5!<AAH'-5N>17OGFBS[
MBI1DVGF:>\!SQCA%3$C.RRE*D_AXI,$D7HQ=]W2#X( 8U&)4&Q=:(8N!UT0S
MA:6'2!8;$TPQ.LSIH#--1X>WQ>'X?7)J4'/3Y5'I7*?"700\<46H=!(XZ"U%
MGD/ERWU1#V6O5PNU[2I=68^U I[J(=9_'&T[B>>IX 98%!;,%&(%M).FE-+Z
M!HE@!Q D&<N+UN"ZW-A9%E8&%%" &*'*".48(B5T3,?/+ .(CXRE17MXG3LZ
M$BE&C/&"JOSN).*"S5^V%C@0/QD,(#JRKG9;!.H<\6^,8 2I4MIZC03T3)=+
M-Q<:'Y_E=P QC5&J; K198>X.LE$F)T,YD0X:B@7TI6$)0Q&TV$ X9"QXW:;
MB%U2="06(DQ%D$#**;7:&,1*6R5,5/&IG <0'1G+A1: &H;[^<[)*_SUQW1U
M.YU?S=/_2D>+TKO^F-W7J.)$(A]Z#";:2D4)]*$#J7)=)%2OFPY=>!;&>A#U
M"FN\J5&QE>IZE2YVC=PE[OTKR_]8'J-8VZ]($$%$.RVY4Q!(I1 LTF6%N5O[
M/H]'!T&V,P/<#^V*5N[:'"I..V#>R;<D!#.H.,^S2 I$,,<>[((?J<=.Q]O6
M PD=[9Y\;6/<$__*=F[;[;/UH@L"GGQ-0AG4WD#O&838.!E6,(5WC+>@04;@
M@82;]L# MD'NAX)E,W>MGG[I8@@\^98DS\[/I,2.0D\(QER4SG8>8CK [86A
M$;!MC(>Q_'C\*WJA\229O\1>2Q46<,)93\-2S*IB->?#<BP^K\= (EV[65)$
M WC.**4]]X*D^2-E=PBB_AVQ])P^E@AGD# 8*@NM]MSF1A,2&'@IN*QT1O<:
M(I:(9@9X9QUCWE( +41NAX.@IE=WAQ8CEBIK-SIBJ1YN/40L=>M2S1T/*PD5
MQL(P%&H+/,*X$)<3V&=\0T?^>I45>L2ENAY*P_#%U<8[Y@@P0FG!%11(\J*K
M< <&&I74"/U#3KEQ4%R&&@?EMG86[0W6>;$EEVJ.\^0;Q'**%/;"T-RE:B>_
MD[[/NVD',D1WB^" &-2B^ZO0&EM%&$7$A\45@,+2 @.)P2MQJ:ZLZ6@_V#@<
MOT].#6INNCPJG8="'=TAD:<.TU(2$P1&'@AC5"$KD'* J8D[T&.].R1J(7:I
M+M5$.46TD!XX[PF2RCE82(F5B/?!&H!+=2PO6H/K@EVJ\UL4N&=42JV$RL5$
MA9R,<SV\T^3N:=$>7I?MMJF$#A(J;2WU&@JI*++E>A#B>&X,P"$[EAMM(G9)
M;IO<68PP\1YCPA2AE$)02 8%&6 JX>ZYT )0YS\W-=E\-9VOL_6+\Z_WV7)[
MQI8NEY]N1_-/?Z6S+^F[\/3MT?/^CM^80.^PI%HQX)&S"&%G16FMH5ZOH^[D
M5#;VX&48>%\.GR':2JK&X_7=>A86!YO'.F7T@7<F&&K@%;.08B2)8A[#8ELN
MV!BBSXW'5\;I=A ?/JN?]MVK19XR-FWH==_HC0DU6 BO"2->*F(M HP4^&+I
MX]-_#<1)M7]&MXGW\/E<]-M"TCY&Z1/O3+@PFEFL(?".>$VAQH5EI[1G\3MK
M W%[[9_3[2(^?%9W.R(_C@8&HS $".,@I":L:@)JY>P&C(C/B3L0_]C^F1J+
M[? YV<?(^K)?AX6P 0H!!\)J0GH4^G(Y6U'IX[/7#<2SMG]^-D/XG*ZW&\>$
MY?/VE+ZSNT;%OCN[NYMNWY+?*;>!,(_#G_;_/C69;*H:S=[,K[/%W2C_XZC;
M<&=-\>O5>I&^"Q7>K>\^A"=&L_>CA\VCOX<W+]ZFHV6J;A9I>MJWN<]&?DC'
MZ?1^U\C?LKD9S<?IIK<,HL6=\GB^S&;32=Z[]6B6R_WQ-DU7/;_M_2B_M>HV
M74W'HZ[@?7SUQU7XN4'ZZCH?0/PL^ZM[@9^]-;N[7Z2WN;?#E_3-/#R?GOO]
MYU/!U7VZV Q:_>K@\;7G$_WC;7CU;38+P\YR>X)PX/4]G/,5S7I;)9SCFX<3
M(J'%E"N-#68, ('(-JA0"T$5K72BU[%D)P,SGCV8>*>9\<HXPH1S2ECM"HFX
M8[UZ[1Z/OFB@C)='D$T0Z"&.H@42;+M9/@!F\\UD>]S!]VBYA '*"./880PU
MH]9CI0N $&]PUW+7D1>1>CY$EQ; Z6LY^Z*I)STI]SZ?R#R.D3+A&?.<*:41
MXX5LW%([;$_<EO26=8?4ZV+#('UHAT2"<WG)WMUE\X^K;/QG!<_8%\\FRCI,
M,7?.*$XI5LCC<M"44L5?.-F9MT!#W7SC^=H,D=[V+\O]D?>CZ>1-6-S?3\.:
M_[1KX[%R"1"8:$B<(AX[9)C!E!2R$F?B9_[.SM7;U7Z;Z/3%A _Y[LT\G;C1
M8CZ=WYQV5]M?(#'<: 9)^,\2 [VB$(!".@UU?(ZNSDZ@V]5]*[#TUOT?MZ^O
MPAI_L6?KX_104+6.Q H/,$'(21]8;XW$0!484 D&F+^HY6&A(Z3Z8DMH8NZV
MG]IT^^^;[03W;(OF0S:;^6SQUV@Q.<*9FC4E4'(+0!Y9"YVSC(09M!@RA3 N
MWE&K.^?#]O8=N@6K-U?Y;]I\=&/AY<,)I!PHY0-JD"OAD326%5(A209XL6%G
M>OMFHZ$A6&=84FSV=I=OELMU>FR<.% BX<1+QX4CW.=> 0X#+ OY,+3Q$1*=
M&9A]D:$=Q'H=%+8MM.M%,)?>IXMI-MEX?&R^N[K?'$*XK^EB/%T>Y4KMNA+A
M0B<!U@DHF<OO:F"LQ-A)&!^:UYFIVNN0TB&69^;7MF>T1+ CE06KWPIJB%?:
M2FDML9H4EJ*PQL<[A'5F\9Z98>V!V2O%/J3WZ\7X-N#U;7\YQ:AC91-II%4$
M:FJX,-XI2W97&><V(U0##/_JE4 M8C<$OFS9'TF8;>$$A,'6,"0$"'W$$$NX
M*S8:A 0-)K7.?/R&P)@H\/K;I/U_Z\)K+SNPM[@1X',N5KZKD,Z7&^^-#VE
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
MU=U+"D<ILLQ#CJCW#E!1RJV0&:"O3G,51KA[U8/I<IP_F=84!XF 5%)SX F
MH)"+*-6GW7$N]3>'I;_1H*%G@;N^3L=Y^??9(D?NMW1U=/AH_W4) AIY(IW
M0G"C$)"^V'_65+L!CC?G/'#N!^6A\+?T3GH9/FG>O)FOLBXX'/O*1%HF'2$"
M.(61MXIK0,L)@<I!IT@\"X][0GH( ?^7<3,UA5);H22WU"N"*<"FP-4HRN*C
M_GKPDNR$P><'N?^!>-\]\:'QZO-R<ZM"I9'U1!T)#N:3#?V6."I F(\ YX4Q
M90#U\7E/.MOY[FVH;!>ZH<SCI<FR[3]OYNF+83W?_+_+UOGQT'BVGFSGA'+L
MGZ?+Y:=TN0I6?DL&:AOMR'5!+=/222Z-<8YH6FC;.-M@J=2#Y=H:SV*-US-H
M8#"#:9-!-$$0,B1!ON$@<D,HJ*;PKS :J?A9N@<[LWO6M8-:W[$,5^O5<C6:
M3P*M=XEGBEN,!N3W_S8R;PH-=KKFP&@9+!]/.&> ;:[,EA0H8\]X:7%\WA1(
ML+>86(\E0L)[R0G>RD0D0VPPR;,;Z>-$WI1Z& S:6[VM0ULE\FR=VFJ(#8=(
M,&#]#A*E!8J_!:7GO"F555OM9+4>+)=XDL:%@DX :J#QWI#0P:![E)!<YLEJ
M9;55/5*+0^DU\N&23E9[I\%K/5EESCC.. 5:"D6)$4::4F[G!^@WWER%$2>K
M]6"ZG)-5+[WET&,G."+<4*$8*^0"#,?[>_9_LAJK_N:P]!8ILO,Y/&$'/GTL
ML5IK#RAVX2=DFCDH52&)\=5"E\_KLM?,^FL 1CVU+M/QSS?9EU_&NQ=NU5K\
M]5*EQ>>)FLUV39RFRX-S^[''$Z^9E9*''PHA3:BFN"2KQQ@-V\Z+4U#6&2ZO
M1>N#M.;.I^PS*/GWC_:84L/7B1$$,Z\0P$%>(KEPLAC5%!*FSPNI3DR_[8#_
M4I/U,>A%<__G_7\=TUSX.K$"(H\MHPQ()!W4R#Q:" C%)Z%LW7#J1G/U,>A%
M<__^X8]CF@M?)R!8#\@AHR#V1D*"@HE7M%I:&7_0V[I'03>:JX]!+YK[M]_]
M,<V%KQ.IE>&&,V0T#:0C1$BZ:[7GQL1?G]3Z$7TWFJN/02^:^_CKT7DN?!W6
M9F&H<!80[)"0B%EA8+&];YF(3]?9>O!8-YJKCT$OFC/JJ.;"UXDSVFG(+97&
M0\2%QQ25!S.^P?X0NPS-U<>@%\W]JM\?TUSX.A%6$\B]L]H!*+ .395%JS6@
M\6?R_#(T5Q^#7C3WZ8^C?2Y\G1C - *Y-S2%@A)-N;)%JQ%D\?.<N S-U<>@
M?R^:35+'W[(<X-%LZQQ4Z:A^3[D$BT!,(8S2BN:!.I[@\O";,Q4?6MUK)N+F
M1_C-L>G;1V:S-]E1@L[I,O<^F,[7Z>3J/EUL0Y-[?-6!3\_L^O,8D%W!\^?;
MAQ/C'0YD8EXP(QU'QMCMIA,7B#M0*556QY*=\OMY_F#"@,7<0&D0,,QX+"#9
M'DWE:8ZHZ-/C\ZC;3Q-E'+JJ/ :!03O]O U*N-GTM%S&]:GK[O<]GJA-\(GB
M((AN(,;.&57"H6F?%UC7.O*)U6K6.B9]F1,OFWK2MV-_@<18PA26$A!B4>A4
M1@E<2!=,)S;L$Z!F"CNA_48(O38>#/),: CJ/X_:/Z:KU2R=/+;Y=/*__242
MP[3'@!J )!(6"F)5"5=^Q=3P5A!-%?72(F@%F/[[NQDMT\IS?/%PHH /<#@K
MF0->0.D#5H54EK$^;S\Z[PP?B<AY]/PIO+O&R/Z\2&*@@5YX*ZDU@@(8S.92
MPOSNBTN9X^NK[*CV&R/T&KDP\'G^?!2HJ_KQS?SK1J$0%?NXX9-$O7.?W+^_
M&ZU6Z>+@G'W@R?P$3S'@J#/<"*8)]@H5;936#C!"LSG<69N0]-9CL^72;';
M;K;[VOKAM_R6M/3J^O'C4\Z8U2M)\F1 ""%,/*;88J"]]P4*>3ZG'AT3SC*K
M=X74>?BR:_SI0?YPJ41X!RD()K&6A% M/?6ZM(8A&?C-QUTH]"AGV@#O]9)E
MF$;!L#ER'F[\NAXM1O-5FEY]GNTFWM/9FP\72J@/LS0C'B &J.,0.BIV4AHA
MT0#O3FY%9R]3>K<%4&_;0\6\NCM]F]^H/-_$YO[ C]LSB1/&1\4:$DR,4]X
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
M5C5;P=)M![WOASU#7R$-DC3#(<NR')2K6SE'BB?.:@0<@6'8)I(R :" A>1
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
MB!),6E0 I%&UY3"$8: QPU\*4(LH]:4_[:=8>AE[]EQ"N"9&, 81PK$\I(<
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
M)@9$JSZR3G-E<"#->%-0 YD;H1VQ2S8W J=O5G^XO<NS^]W%OC+;7P]*I&'
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
M%=@9%T<?^5P*C;J^SM/K ,'S/JH'Q+J(C&X\J81+Y!$'4'DNB>=*"&\*+@%
MZI]V/3=/'W:M70+O>H^VWH:P'8N1;EB):/-CE?YK$U!S]Q&ZEW\?/#[[^7P^
M5HFP/C(D00YBX,)-0O@M>YV3>RYC)EFU=MB]4%D:V?S&XPFTU ?1U4)2"*EF
M5"M:4(< JG_6MQV/W)@]+_>-YFB,.@[X)7WE$<%'1B36>,'CS5E+)S17DI(#
MPA2Q!JVV.XX-;L3A$G&I!TYO6M;KV99'.1X;DS!($42<0\RUT  *'>YT>QH%
MTVS<4;:-.5<N"8UP>I\R,<KPU?&(PBA$H#0:]<WG$\F-)UA'^I!#0 1*84$;
M)[A/E:'JE:4YGTYSOA8R?7&]* RP"K>?> ;N2JU^"=>S>"\ZP?[3 Q- C5/
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
M>RQ <I0V"GF5BDOEXQ-F7 "<A$L<MYZ%2SS&!]JM5/5ON)W9(UJ1GBY!ZDM
M#H7)?DFSZWQR=S.?3A95BSB^'),H(9S%G!)FF:<<.:,/"&II^Q2$H=75MD#J
M31!V=ZFGLRU->3HZ)D'4<J<L1!13RCA5&C_2R)P;MY+: N]>2D/+2+U/J1BE
M?CHF81A&"#YERU_+L]>>/)4P[@0@89_4@1IO,&.^,"4A)N@(:SNWP).L+3SZ
MXNNN2$DX^]1F?9/E\_5#S+6IU%7JK4&)  9 IPUGC&#'E @*U0$I3.IGG'1<
MOKF#T[\UE(:5A8K-@=X>EC J (!80<^"D$/-%82%05EC;<>M!+3!PDI2T0BM
M]RP?HU0'QB86 X44I??I<I.:[/9VOHJXI?GJ0YXNPO6W/-"H;&PBN8EIN@(A
M@HT3SF.I"IHA,"/,=V^'A2_#D5H&JE>;@IK=!OQ7ZWSKY-Y6,]O^R=S,EY-2
M&:GZB@1#QZ#SW'ED),=6QR"?/0+<Z/J:9F>FITY$I2.\ACM=SM9"MSNPE-Q[
M:HG8J>Q>4JT+ZH@!]1T@YQ?6')\&6@.AX?A?0[,HVO=)KP2&V#D2CE^@"%2'
M)<2E&WDJ=%.VE4I!(Y3>HSQ<B)8YC!@,P_ZB\G_TJN0/I<K"6X\GWB%N@ L;
M)F1"0ZN\.5 F$;X('?)<)KU,QFR.2[\+_F!JU9.@Y$[3;S=INE;+V6/<I)VO
M8F38)D]7^B'\Y2Y;31:_Y-GF;A5>L=A$SVQ\9ANPNDEGG\,AO"L'=%ZS](XF
MD"BNK8/(*\L@]<A:0GR!OG).UY;*\XLHCT-!&1GB?<G[6714LK34?&/""=(N
ML X*@Y6 Q!G"#T<*U^82U*7Q"-'K\G0],N5/X7V)TXAUNS^<S+843/=MOCIN
M8GSQ1.*-%]I YW6L.!J.)O.(@32.C4\)[!S]K VD!MEIS/,^"J?UN9*1B: 2
M*LXI ,Q**H PCCS1J>O[*MG%*6+M0C4"T3CON'EK;*(T-98@"+2&7A MH3N8
M22$5>-Q:46L<K2XIC7#[8\C,*)61\8K*8"+RQD&[HR;\Y$H_Q%X]54IY5WY-
M0B#G%BK/E>/,(B6<H >,$>E5BZVAI33C[FNYZ0JXWC)YWCJB2]25HV,2!SQQ
M!&K.(=>,4F<A/JCQS-8/DN 7IZBT!=*@@E#I/EPR,O%68V9<K'0  *+24\H*
M>CW1=-SJ20M\K"(9C?%Z_W(R2I5D?.(Q5(S5*@W?NJD04/7TP00*:[5"3EBB
MH>#$"B8*:ICB(RQ)VAI_7@50-0"FOH4J6O:*3ZOES/T,QV:4_O7D9&IO]<%!
MNPJ:CP-"!UU*FEA[Q1\6 D(-(JV[2[AKF<6=@=6OQW/;YSZ M:NPLYDOKQ^5
M7IT&F-*#5SA=!:C2U7H^+75CUGIKHA &WF,"F+-:&$8-*=0R@A@?X36DHX(F
M_8$X8F';!P^T*VO[ER:(H-B1QX=+&Q*>("L/UF82-FA_(?O7(*)6#\.^).W0
M"OXPXZ_;/3I<ZJ?SQ7QG6%K[-'!KLCBDUC][^(3(M?#V1$ BM+:$"VT(,M*
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
ME%YZ]L#$?\52A/_G?_Q_4$L#!!0    (  6!4$K1"H!FM$,! #\_$0 5
M8V=N>"TR,#$V,3(S,5]L86(N>&ULY+UI<^0XEB7Z?7X%7\V'5V6FR"0)DB#;
MNGL,"Y$=W<J,F QEUY2E/7.CW"F)G2Y2Y717A.K7#[BZ:W$*  &2T6]ZK#(6
M!>^YYP+G7NS__+^^W6^MQW179D7^+W]R?K#_9*7YNMAD^>V__.FW+Q_0%_+Q
MXY_^U[_^CW_^?SY\^#_XUTN+%NO#?9KO+;)+DWVZL;YF^SOKKYNT_,.ZV17W
MUE^+W1_98_+A0_./K/H7VRS_XY^J_[E.RM3Z5F;_5*[OTOODLE@G^]KVW7[_
M\$\__OCUZ]<?OEWOMC\4N]L?7=L&/_;_ZNQ/5+_[T/W8A^J//CCN!^#\\*W<
M_,GB'N9E;5O 2/?CWU[]_%=0_[031=&/]=_V/UIF;_T@_ZSSX__Y^?)+[>>'
M+"_W2;Y.__2O_\.R&CIVQ3;]-;VQJO_^]NO'L^BB'ZN?^#%/;RN^/Z>[K-A\
MV2>[_65RG6XYC/IK=[OTYNU/;'>[9U^H&(HJAIR@8NA_OO/A_=-#^B]_*K/[
MARVGY\<1^!4 [U^#-86N)N$7%9!#K+[\H&:\5[SKIGH1O_ZD9LQ-0XOSC8GV
M^_*SFK'KA6RT913[9*NY9;SZY%G,V^JG+OFOVA^LOCX@O[7Q5E1//IQ^VZ?Y
M)MW4HOGLTU:V^9<_\5^M#N6'VR1Y6%$>_4>>2A[3CUQI=W6**E&^^;=T<\N3
M&5KSO\KV65K2K%QOB_*P2]$U_\%DO5\Y@<<\UP78B9$7L,CWD>L@-P2.[7DD
MPJO:Y"K-/_SVI0-8_]%T$/XDP^/K".W2LCCLUDUZX]BK[-ZX\Z]'U-8);"O)
M-U8+W#HBMX[0K=\[\/_?/_]XI.19I(KU6TVOAGR3E-<U[I8]CM\)?DRW^[+[
MDP_5GWRPG3:1_T\--+\,7K&>-'A-++95R5/LVN[RK%6CW=HJ=IMTQTNQ[A\E
MN_4[06]_XL=UP>N+A_V'9_&O2K(9/"VF[QH-NYR,MYA]I1<LR7;_F6P/W&2/
MK<3)MJK1OMRE/&NWE2E^.OX *?(:TQ4WA9]:\#0ML]N\_MFKY'J;KJ+(<9 3
MV5'@V'8,:,!LU@$&+HU6^S[#OJLI,\*4D9S]F9IA0'<JSZS&->O$MPNK]<ZJ
MW;,Z_RZLZZ>3G[,Z'ZW*2>OWVJ7S0K2X)B"64;Z3Z,LEG$D#;R0#F0O+0():
M0%M81OY: A'%XOJI7/9[;0U]R\H5I@X#3@@8B2/H41I@$O6IUHNE,I>B"<-9
MIRMI3V#Q0I8#D\P=J@2*Z?X$W,EIM@)M1I3W;6(&5',DD\M0O+%.%%I;UUBE
MH<5]DN4K$ ;8]T/;=6D,8NK$=L2.9;T-QFF-H)$YU*:!-EIO1&E451P##&K0
MG/?(FTAU&AA2NB/)YU*51]:-=[5'B1=1]>GLI!M4MJ:/$Q _I_?7Z6[%J.\1
M!W@DHA0"!F. O<XR<JF4$.FP9UB3CA"MI.RG^(XHK=\;G)("I85IT7G6:4F6
MG4\=RZ^A6=-W21N<'=5'^3*43:M'KV8[=;,EJG>_%/FF-]Y:<HCK$$:9@UT7
MV #:=F1WEESD,1E]4_F^83W[I=A;AC1-B4TQ#3--I)QFZ>'0B&Z]0=2 3HVA
M=1FZ-,J#0E\CD].=M^:ZFD$E0X$-4(RQCV(' 0_;<2]SR(YEQ$?9B&$%>GO>
M6FE:29U',=F9A$(Y[5%CSXC6G&-G0'!&$[H,U1GO1J&YH8W7GW9@Z5.*(\?E
M918(_#BF*/)I+WBVB\8JD*"9F31(:;)I#)OJ.F2 2#U*-,N<TWF&)-5(DM;E
MZI&L(P**I,2-J"9]WJ4/2;:)OSVD>9E6NUT^[>_2'3GL=KR<1F69[LNV*',C
MQPD]SZ,1CE 00N*Q?HL+]6)/1J,TFC6L62U2JX-:[SFKP5HM6JN!JSA\TQD
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
MY*YGTFS;].(A;SK%?;8VHY^CB5>3T"DY'ZNB+=;V]/N9<Y;S"ND[=$IHJ:[
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
M[7%S4XF?GBL7_\3VL,GRVS-*]RTK.7@6PR"T"?2I0S"T(?0[\''@!W)#P$5
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
M\9*.(>E0IFXARJ&._Z5PC&1"I?:X[)^10]0)'.9Z#D0 \.&58\>TLX5C(+>
MHV1AX@KD4O6=2$7^Y L1,]2-JT5$6#->CUP*O!HYCLB%:,LX'P8*$U5&1#4&
MY?MLDVT/U:VT7]+U89?ML[2,OU57#*:;ZK $5[N'0[.5X=/-JWGI^^*0[U<0
MH8A!-XH8<ZA#("1QKW_4 T*G$J9%9'HVN>Z$Q4.]V%4=:7K@/WB7E*F5</<^
M=/Y5QQFJ&J#> RXG;A,%3DP,EQ<S.?$\Q6\='; Z#YJS;"<^5$+[>N7MPFH\
MF59PM9 _(-#3!G<9@CZQS\6<W4EZ,-L?7T#YYM=TG^WJ";EJH7];E(>3Q4HO
M@(Y//)NA@"+;9T[D^ T"'X4TL,4';=I,&AW.'4^F5<^,''%:1Z"S+<Y+D#@\
M"-0>BF7T>".>O1XX&F)/^$J9](87E!M2Y,T95P[D,V_%\?W#MGA*=S\G^_4=
MEY)G?Y_R]I[O/]W4?[F*":+0LPD%88!)=1H6P@Z7[85"^\:G0V.XS&L=L$X1
M6I4+%U;GA-5Y\>R'+JS6D:J0J']"\OH9\W$4T^9EA5!.L:>(GIE;:L:2/J#P
MTP5T&;H_H;\O;[*9F&FADT,_9WEV?[A'M^E5@=-XF]UF]34(9\"N*/29%_J\
MH4*'(DJ\R.LA."X1OX] MV'#RM_"M9+;^L:2Z]1*6\C5;S>MLJQ/E>6!?T#B
MB(SV2 P+^NQ!D-/NCG\.U;HJ+)Q:'=KJMV>5?4[^)<XKS1D'M<-+BOWAAY'G
MF22)>B/O&>5[ 2>=C+E63-!>M0QN?DZ^U>#R_)!L3_^RFC!ILVW:9M95"!Q
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
M(0P=NU+RN-O<Y;L !Z,6:92M&EZMJ2YJ,+M6H\ZWHG!.0K4&T5Q*S3C,FHQ
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
MQTMMJ$VBV ^(CR "@8M9'$?U2_(19GX(18?38TR84Z .5:T@':[9[FP:X&A
M '0PNXQ.K,630G^[D^M,M9GTM/]V$Z;]/5%.X+M^A*&-"/&Q3T(;=W9!0*5.
M.(VW9G@42(J\W&?[0]H^WI0T@/M%/KD:30.Y8GHU+:]RJM5B.RUYCBM<<XG7
MNX0-2)@^LI<A9!K]*4PU2R51PT5^*'N;*R>.8.B#"-(P"+AZ$L\GG:V(RLU:
MJ5DP+E[W#TG^9%TWJ)2T2I8S*7TR2)>:)K6 >CV:182>L_*^\"BRN"BQ4?7A
M;8$9Q8BDJ'Q)MLGNJ&0K#T) PM"+H1W:KH^A$\/.&$.!U+MSBB8,RTH'Y\):
M%_?W65DV]R%6@Y"'Y(E_=6OMDV^*>B--IY3@F&1237&.9,XI.2]X>5]S5(E<
ME.@H._&VZHSC1%)V_C-9U_,RO<8QG[*8N=4=%R2*;!39K#/F!I[4]@]%$X9E
MIX.C)"O2=$G)BDFFU&2E0S2OK+S@Y7U9425R4;*B[,3;LC*.$^%)U%VQ.:SW
M?TUVNR3?/[6S3?6M7]E-UF^;6SDNYG44#2"7,AM B".*&NO$!@P1&9W19=.P
M\'3XK.)ZF]TVMPW)B9 V<@5GJV?@57+FND%H]=2V&&>2*T'"AJ:Q-5.^#$'3
M[M7+Z6TCK D=OOXUW6>[^J4LM-T67ZO'L58$1L +/!MQ:SA@+H%>V)EQH,3)
M:Y6/F][[6NS2[#:W=CTT>3E3)VY8MR;A3$Z@CFBL'HYIDB3.69LF2^V0]0EI
M20?+^O?D(<E_&'G&^@U_WQ#CT=0LX'3U*/B%IB8B^0QV?6;BW-3^"E6O"Z(8
M\V(5T=#U;>#[G5%(B=3M/"--&=;8&IWDT]<CN1,K"">D34YFVT-K RN"$S]\
M/4C40/VGB>%EE'VZG'GY\+5.CD;O9UBA$ *,'1\['O1<UW-#$'?V(N:Y,OM1
MU:T8WE':=2W-^Q7>)T]J_LPP;VI3:/.KD8H0C6=T&1JDP0_1S0>2S,B_?(<>
MDVQ;[>/B@[ OR3;]DJX/NQI!\P*4X]G (;Y+ FS[$? =Q_-J^\@/(Q)&:D_>
MC;5J>A7QY(6U'NJ'FV+WH>1@K2/:L6_<C69?3,KF(5Y.VO1Q;O@UNW<H'- _
M_6%8AAX:\.OLPW5ZF1/5RU]Y2TWK>V3="+J!YQ$_<"AUPM@&8?_]$$.I$:/X
M5PWK70U$Z<)H"6+$I,H,)Y(3;")T&%&9WOL!%9%G:!DJH8"[&-LV%'IY>\V?
MZSJ>2RGDJL$_3#T&(]I90$XHM0%3YKO3]'2EBYBEZ)'H[0:84>KOL]RA?,+
M>WU>DJ<%]7I9Y&_U>R7O17O^S\FW[/YPW]JHYY_C@(&( "^P0]SM8N V7"2W
MCT#NRX9[?PM&\=$;29+$%, </W(:($R-$15XQL* #JBQM0PE4,1>Z&@O8FJP
M2;/597J;;.-\G^V?ZDH#4)L$(?3Y_S@1KRQL%ME]I6''0B?*5+YK6 EJ.%:#
M1ZKP5^)H6 I,TR,G!#+,#&A!F:Y_N"T>?^3.53+@5;^H>K]WTOO?</R-OC^&
MGGE[_BCDQ?C&(=[KFX]WSRF$(2"8N5%,N+<H)![&W>=M &W1+B_U4</]O6O/
M4H6_/#/O=W1CI,CU<E$^-/3P4X_/=&\E4N;OVVJPBY&-0;:R_Z]B=\7_2?GI
MAJ;7>Y1OXK\?N-7CQ&&M*0&.F1\%U(-! 'TW"",(^W$%]I!<S:_'IO'10/7:
M=HVSFG2OD-8'I1JLSV;<%68&M1$O.HZ8GG/9$88FN@V-0(3X&QR;Z(W 4D8M
MFKUZ-9XQP9I&=6S5&888N138#'LX0"!BCANU]N, !;YF?12TNAR%5)I1U4B_
M-I4TP+PQG9QEQE:8PW%:*1F'[T8M9?V2UTLEYD05DQ2[AV*7[%-<Y)NCS6X^
M"GE^%$=V[##JNPPZB)'.)G,B5T8EQUDRK(P]N.I:BHWJ,^HCR133O.EXE-.Y
MYQ0^T[59YJ '>1K0,CW\+D._-/E2F&B!<CKUVY>K79J4A]W3*X-^"(E-71S9
MO@.0C>.(] 8I"Z2V](TP8UBA.EP6SK9;58$:PZ*8.DU$H)PT_?;%ZNF;79?.
M,S0@2AIH788BZ7"DT-[D),\Y5#>QXF3]1_I:_8+0CGW;M]W \Q$)41RX7E^E
M!5AJ7#G&CF$UJJ%]:+!)=2G]A(KITE1<R@E30^.U/(UFSD"<YVA FG0PNPQM
MTN+)RY,0VM@1.FH?'[C#&1] ;O@0\N:0;[IM1BCP"&&ACVP?$"_V(]";LF-;
M:" WRH#I]4 .R^IQ614PE6>[E>D;%J')F)-<-)R9-(E#^%.0IW80_V/^F);[
M^_K2XBRW$HL/C?8W'&Q1S?9E_=]^N-TEF[2Z'W13CCVB?X:--T1:"WD+.*H_
MVH5"8V.2T&-TF^;KIWI.J1-]#[B.CQ"F#+NAPP+<'^B(N7TFK,3RGS9=$]:
ME";05+D2D%VS-$F6>],S)*&Q9IE24]>6L4HUQXKF*_?.R:4Z#PL0RA'@"RUM
M0?+@;O&8UI<E56L?KPKD. I"/G@G 'IA[!,?AE'<"[(G=[_O.$N&I;,'-VKY
M82298@/IZ7B4T]8CA?4*Z^R#Z4&>!H;3>OA=QH!:DR\O#\]J9$AX8\DAS];9
M0[(]E400AGS8[GB.#WV?8D+<H)]=Y(-Z(+6'1,6 Z>TB':91JJ1&G9@8&6=-
M3H.D"3.SH>,-4H;V;HSA<!DZ,\Z%ESLRQO.A\]J2RRQ//^[3^W*%<<0"CP]-
M Q!0%T, G1Y#Z(%0]]4EXI9-5T?B5VE4F*T:M($[3"1"(5A+S18%R=I*;P!F
MN]"DYW*H_C(2DV7HI"'?%"XW4650>(GVK.6J:/PYV;>_^VNVO\OR3WGZMS39
ML23;_6>R/:2KR&6\B@0>IA'R/8?QHA+U>UA")+>*:Q:*8>V]K%[=W=\EN>58
M%3#)A5W#81"3V05%0'*^<$AK+YJ![A%^]8CQM[UU]37=/J;6ST6^O^-_5OEA
MU8Y,O)@\BO2A]>9IHKD,Q9[*V9>KUE-R++:0(H@(W7"1:P'AE'>;].IK4?VF
M/,)S/=?#,8Y@C!P[0LAU2-!/96(F= 9^<E"&==[YX-;Z+G,]_:0Q$5GJ66@X
M%$7?XFY4;Y8]*[!?:+Y5^V)Q9^KH68T[/ <4331%Y'_FP,JL4"TTP&IK6U=W
M66EEO BV=ND#_[EZ"\'^+K5NJI@]5BBK =>FBGAY; %?[[+UG97P*%<7#:_W
MZ<;:%]9]Y7QJ?:T%V2IX>WBJV@/_]]47KY-M_4! >9>F>VM3;=*OCB =/\6S
M7'I;[*HWYZT\S>JKPI/2NDNWFP_[XL-]0^V3E?,FN=\EFRR_/<$T>FE.7US/
M+NK-T'26L!PXA]O%S%W65%G1(6KQ\2:=OD#H@<!!$(8X"$/7 Q PVV\1,A!C
MB<T=T^(R7%RX'X#9XD)#9'37%],&Q7R)<2PINAJC<FFR*D-#A$T5&M-&6G$?
MS>N9A/)D)J&N,>Z/(4_JD/.?J$[RU87$]6%O73>!YQ7&KOG3BY-29=(:X%W*
MM90!^@+[O54"&CU7+@9TLV^@'N@Q-1@9[WTO(/J!@QEQ& L<!Y XH@QWUWLR
M:OM"U_#, LQP10 ^>(8K @VQT5X23!N6"6J"DQ*@K0HJGZ8K"C0$V5A5,&VP
M)RP+COG_M"JXX3;V=S.7!>]RKJ<NT!?:[ZXPT.BZ>F6@FW_]I4$/J468/;XL
M7B"-2!!%(/8=YGD P+"_\I\YP#<T53 >E^'"P/O@FRT,-$1&=UTP;5#,EP4G
M-4!7%7"7)JL*-$385%$P;:0GK E.LO^SHB"[F;LF>)=R+26!OL!^;Q6!1L^5
M"P+=[.O997;\W2H"#$<H<N(PILPGH4-1=W<;PX10J?=/=1F5RN3RSZ$>A?["
MNJK^N<ZM8S+<#J?K66E5S,4#V\&.?["D[5['WREO[%*(P/>PA4O%+:G-6LJ\
MR1]BH%GY4/!F^=.N.#R4'_/U]E!M%.!_S*G:9_DAW7QZ2'=U.5+]=7&??N'%
M25K5*+C9H?"EVJ" \@W:;++JQY)M]:^W17G@_>(J_;;'G-H_5H0&+O1 3#PO
MB##7<N;Z#G)#E_DLP*[4JX5+Q#_A@8I3[ZRC>ZJG)Y;#H?09C.5 -Y=".A^M
MQLD+JW?S7$-HGZ>U*O16#7^V@QV3!4CH>,CRFLLR\MVB&3I[5&6!6*6R\-M
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
M 9T]1U%@8L579OZ<JIMSHR7*;=# E^ILFLNITOVC9*:IB"K:*\/[R.%#% 6
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
M$YGZK-FXDG]GR<>U^]2^C/S(Q ^=DQ_9,5U6/J1_V!%V;"#";&8^W#?S;I3
M '-T 8S\$/H$^U'B]O,(Z@/4;I30S6K.;9+W4*IODW0&*9Q,6,GLD%@E7G8M
MDLLZ\6-+EB8.)EDD5_.(]-.?NW+YQUVYY@ZJQ&4,NZ=?R]W1$?*K_/LNX53_
ML? ]/T(ICL*08H1##%$<B&L9/)K&/I\KJ*PGZ&O5\-+"M[MLF[= _^__B3PW
M_$^G :R6'FND62[;G8=AM>3U&.._M[0Z N;1-17.[P*I4T.=^KU560K/B+-^
M-]@AN ;L>OGDJB'FI&_(ROE<N-S@S>IR=Y=OOY35;IOOBD;-DWR3WQ2[ZBTX
M<8AYJTF 60A2%GD1]&%S?4T*(4Q]I6NS3($P+)OT_F%=/N6Y\RU[Y.&LJF]\
M4KPVRQC_<@)J!?5J>MI"KB_6JD$[SU$['6P[]'4HPV?DUKC3[%!?\V:^O+9K
M&E[5WZL_+&!75;ZK.$")BLKZ0HD#1D0@#4D"*?.0%P>AAW%]WYC'1"2!2E>Z
M3HO,L(HWR&LY>;-4.]L=[Q4)X7FYG*B8)$_K5LE$VEJ/*B;;K1UBR?]XU?@]
M)[^NQV_O$'+F2\QUNN1<\CZ+Z^T(,3/9_G(2,*,'YK@$KX<:^D$(L.]1#@T%
M%,68)BW4@'E$Z26"60!^R+-F\UV")^]XQ<U.6WT^?)M3YR'KF0.9"2]-<SY,
MO5/8$=;FI<#@'7D#_2%U ]1_Y]?5,MM\VBS_UMY=$D:A"P#FT[C(=Y%/4(2:
M&B&:I!A$4N%IX$<;#BPMH M'0!IR1=$ LLY+^@0\J8GQ'!0IW-UDEJIA-S8I
M4B9W3],K0]^0_I&,6' GTPCPI99>H38;2/95L<FK*BWOKXM-<T+WN*KN:IMM
MJIM\RR7>7>  A-2+4A:X( D2-Z" =!"8&X<J6;[6A@V+;%<9[SQL"]4#K'H)
MELNF9^-639@[F,X1S@OG&5+G".JTN:X*AV=R6".NL",W-6-:.4%75MQ9;6J/
MJZL2B\-_V[S#E%<_;\NJ6J01A!'R_2#P"$ D\CP/]LT&3.WAH;&-&9;"-*ON
MG(>L6#G%QGD8H8OC697<%YV24,7]SQ::LRN=%IQS0'?AU/@FWN-\AZUS>YFZ
MB+9#W?29\W)O4B]/LBK6-K9BQ:;8\1G\8[[ZQ*<%F]N"S]";1>K_SHO;NUV^
MPH]<7&_SHR>.6$HI S'B$W6<\D0T#'@RVD$*7:4M1Z- #*O? :B3U4@OG'WS
M#-A:^9TULPZ1$T=K?*$FG!ULI\']TUH =XZ<@UOG=."=%OU\C[:-8?J,Z$[B
M0#L$>1I3RQD&B&H%=+:KZU@N;U[7'/8/:(5NY/HPC@+>)@,AC!&+70I3F(0
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
M81G\=E=N=S_5-U$6F\>\V@THR==.MV1Z-B/3BHE;A_2GFW+[4\6Q.@=X%XZ
M^^P;+>*)LSHU.L_E>X8<8X=L&K/N98YHE$5I*5TNRSU7A*_Y,N<BSN'\FN^Z
M)@-(@@B$:>C!U&4($$3ZA#7&/E32S3$-F=_JJ[$YVQ[<A;,6-;7\C_(METVQ
M@OQO4>C7V<^_A7X@:M/$0*N_P;] %^)WQ3V8Q6.^5JS8&.<$236=BG]%Z>RH
M_WI$/4<VETB>8>F<(NH@UQ+YTV+*2ZW3QX^LL/VVN2[6ZWQU:+)74L*':Y $
M"?" #ZC/< J[M7Z81$SISM@1S1@6M0X9UZ7'?'-F0J:=/CE!FH@Y-3GJ23M"
M-9,4G>;GC!!I(-4.&=)A2*F]PZE)T"<^X=IP$I^XV"V8RP@- PAQG*04)V%
MW:X)WTV5+F51^F##,M-A*62/EPUC1TY3C!&CIB(]C#J5F58VCBDX(Q2#F+)#
M&H9!+S7T%-6JS/PA*[KC0WBSNMS=Y=MG6P,+3 +?QS0FS(]0$$4NP7WNXT8^
M4BNZ'-^>8;%H(?8GFNO94RE@.LMGVX2J198:F)93F*E)5A.>CM\67DUO#=!Y
ML;<X=?7CNZ2=+6[41[D="J;5HE>EB;K9&E3?L."?&T(OB./4!7Z*/!0%?4H%
M4>HO=N4N6TNN'2E]LI*&]2"DQ]B5^)-1<J5(E.3ZCC&.%!=TYA0:64D91I8=
MXC$0^[D*!44&9 7A<[FY%6\"?3IL/"U\!('+$!<9E$0D('RV=:B!@-A527B&
M?+[A!$= &KG;-H@U.8TP39B:4ARX^B3!E1&]>(.0,ZHQACX[M&.4!:6^SJ3I
MA@0Q=TN!2%_2 * (!A1AB(_F;M!56E<9U9#QJ5-WFO]!H+NH<_O\<)Q_<V:A
MP0"KLK.EB0A5G2:=O1EA\C6;<S2=G1AI8-<.8=)CBNP-".K\2-\$6FR*7?ZY
M>,Q7GS8[WN>*_O(9T6@4TS1EB,8!\P(&:.K[7:.(!HI7@8YKROBR< >IG2*=
M5R@SEU>>9>C,P-)$K1U#2Y<Q+^^OU,F1[/ B^4W.9RRKJ^Q[W]2OG(9V&A/Z
M<>#%$6\)NH"E+B7](2[D153IY9B131D>7ATZ<6-(>9\[N^R[ZO[+6"[E,H )
M:53+ 7H&.;)^=92#$Y4^HG:U??5YO2[_%%=Y\Y_UJ*=5L?,,GE$Q3=3;H6*Z
MC"F-=$\U%3M:D3UJ*TFC-.*?Z3."DB")(0FZN1,B(5*:R QKP;!F-1L10Q9,
M!Q(FIU#FN5(3IN?[-7.ISINLG!&;<2S:H3$C;2AU]JLA6R^+E 4) -B/0<J2
MQ(MA GJY H"ZZGLN[W[D))LMPS=9WJ=$97=%*QM#ME7FV$UY=QM%FA4[1KDJ
MZ#<W3A1MEMXQ.;I\=K/ZMBN7?]R5:TY()=8N=D_]4=+(0T$, ?58E*8!";!8
MLVB;=R-?Z3BGMD9-[ZU\PLFGSY^N/M%O#OZ5.-_^CK_2OU]^)O3KM__[?R+/
M#?_3H?_UVZ>K_U'<<-%&NN0NS!Q\*V[-'-T(WBV.[IYF.Y NR]BYO1O=I-LA
M9OK->KG+8X:W 8+X\C0]0R@." E]%,$$110"U#>8^!$=*(&JS1@6O>XNB/4!
MH>(5&F,H5!8TD^P-EK#Y;]0XS9"<9 VEU3J1&FS(:5D:QXWJ.<DOV9,X.="?
M70HQ\U+(/$BQ"VD"DS#ME[D!45IQ'MB$80'J#^@]-+"&G6Q4I4UR5F:>,<59
M6D=6BVCF4XS/>3DWD1M'I!TR,]:($V<61W&B("_BJ9'7LK;P_-!#@"9IC-W
M"X,41'U[ %.E$P+#6S$O,G(OG9D:+F_3<G[$C*32FD$SUH[7XT8+,XI#YU.]
M$7HE]D'[4WW$A3@ !">)#V(*TC3M,X& C]L!0V= *Q,-G>$;P2,(E [3$W"G
M'*EKVAI03HUJOFC]-CWOR\\(2JV2GS%VO"T_HYE1+4GYVIRR%U=B\7\5A]KZ
M((I"C\]" L8(HS#F&NCWS6*UQ[M&-S9564I[YT!S =^^VG%?;,4K"N+:Y8%U
M*L,)EE.I2;E5$ZN>UJ]'M+;H9A*M]]B2J$L93;0=$J;/G!.U*9IX&K[DNL A
M82GVJ NCF$LE)C[JB_D(C1*5?>4!'S_)'G-WH.]HH77L.NO[O U=7]5*V?AU
MU;D74Y464:6YLT->QACP[J*I(A>J.5&?A!VU+(J#:82#"-(XB&B$(/ 8Q$G7
M:AHRI36-L6U-E1&-+]0=S*9:_C,%D0/3G\-D[?FSU),?V'F'*XGD9RS+=HB3
M-FM.I#YZ6%+-?)Y8N?V-V[_=9<6&-]X]%G-<QP>\F,"4@,0G,$$!]3%)#P@\
M)0G3V:YA.?O:W(=9/[4V7-&T$JV60TW-\;#DZJDFN,?)_UUL7BQ5S548K$"D
M1%JFTQUV2*(1RTXD<OK94SK"<"S*AP:#E%"6^IX;N)'KPXAZS&L;# (/**UW
MC6C&L! V5?J;<O/3Z(GC&"[EQ&\B&M6TKF'P>1XWYV&'-_DY(V$:2+5#L708
M\M;9!QW<#%BT6E :A*ZXTD]49(>(Q6[2O=X51#X.!JY6O?NYDRQ3Z5B>>I\A
MY74IK>0,7I":;1U*;@%*FB0[=&$0\M-+3HK62S]_5=[?%\WU,V*%O-R(=W?S
MS5*TF"11F$9A$J:8$1S1@(%N=2N@)%6JSAO3CN%<Y A:L^%V#,[YRZ_E+G=<
M\%?%AZ_&\"JG'U-1JJ8G+]E\AFOB5ZU.$W1&<730:H<":;'DY;M5VMB1?Y'[
MY*$)SW6!F[@X9E$(,/-BOW_3)0C36&D5:40SAO7IVUVVS5MDW4&MO$:H>)1A
M#)-RDC01B6J*= SJW[NS6'BWVQ;7^YVH375VI?,EF_6$PZ!#61K8MD.H=!CR
MZM5R3=RH)%+EIFZV?KOO<K^K=CP <GD4A[L@31G%,?&2((UQC/I)FX==I5L[
MQ[0S02)5;IQ*8+MP_NUO 'C.0[9U'@5.IY8N]S\=O-_=E=OB7_GJ/QS>W 4
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
ML9W SI=+D!,Q*RW36;']A[@)X_*FGZ-]VE2[;;TZTH)84 0Q#<,$8.B''H:
M!K1MVZ,8J^T+:6G1M/QRD$Z-TODES\1;Y@.FK)JXE53<R6E55-<#H\_6 XXP
MVI.&2I%Y3C^U.L,2K=1KTTM=-,"8]'PZJ^[$Z[?\?^@_]\5CMCXT>=!?[$+F
M(^;A**)^#/P4)+AK.T2AVL1:2XN&-5"@NW#JEVJ/0%[4F=#@.^(T<2TY]YZ<
M9L5)N."V?@#\%<FV**$4A>=FYEI=8(<2:K;IY5S= &.R2O@U7^:\Q>MU_JI!
MUW>ISPCR6!*F,'(1I4G7H$N U"W,&IHQK'GMK3'BL;P.HIJ^C6%03M0F(D]-
MR8Y V:-=IYDZ(U@:Z+5#I7084FKO>FIZ)-*,#2?QZ65S/@JCV(]#F@(0)@PE
MGM\G@D'*0A4U&MR(82WJ<"D_E3J<-3D%FH0P-?WI(=FC/J=8.J,]HXFU0WG&
MFU%J[G#*-X@_Y-O=TQ?>Q78\%1-IV(.8Z[S:.4E]3&,0)1%-L1=X"0BZ[5TO
MB4F@>(&XGD8-JU*'DP\T@;29#O9@E2\,UT2TG'#-PK&:D+V@]SF[]HB;+)-G
MQ$Z[,^P0/_UFO;XWW 1O\BG9\\+IHYKJ=I$N2AA7800HA)''7(8#''3M$D25
M%LK&MV8\27MQ6$$U51O-IFS.-B61JLG;JP,?QP="[%&]=TD\F]OI<H =.J?1
MGE?9GEZF9)7MY[)<_5FLUUQ37T+H?M2V[T>I%P(O@(@2RB+?C7"_^)8F:K-/
M?:T:5KH.C9K :2153NCFX5--\#H@[5;**_7K?FZ/\DFS>D8!]7O&#B4T8%=I
MND^K*>,WWN8JVZYXZKG:+W?_G6VW//=L9^.+. )12C!.P\2E-(I#S%C7)F90
M*=\;UY)A!>S0.)?7Z^)6Y8R:)B+E%' Z#M54K\/EM,"<#ID],G>6NC/2IH=R
M.^1,DRVEB4ZI>DZB>\!6U-:)=PF+S6V^61:OMR]"@'P/,H8"_C\>AY,$<0<
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
M>N&P=Q,[B1_-F>@4;>-]3W4*,SEK^D IB<JF#8R8*Y"?(Q FTPP%FVV%V)R
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
M'.T4R"C4,OY0I6?[M*[SJSS;44;YR<+\Y_C#AZ(I7X<;)7Y$( PM@ER')BC
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
ME-%]^AW2/;.QL4)*4>Q!CP74P$]@B$+2@_-)('?;ZD*0-$>J_JW,)OT!OG=
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
MOC^ TY_K+0.M:1?@F)3V'00]ZB"MA0OOV=#DIW/;/M;N&F;$F?5I>+KY9'5
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
MJJSKQ^5$DIP_[[FXO>4X.(K"E N]%[N.'U$6'G<T*9;*K#*/QO!2N<$&CN"
M0"=;N-R\2]1D^+S>F*W+CR3Y: !XT6<7X'MCA:C&>5ZMEF9=0KS->=1.-3=H
M[QOR;IIIDWHOKO>.<!%1%LIEF 8XH!&!<3AL^/+@BLIU032/9Y+&S.F2^$P_
M!#[I;A7F_6).] TX9''1%S;\6J+_B'7-HJ_FT5]7]!7MU2#Z<YB>+_J/HXX5
M]ACV/=='&'O48Y"$27#<.*=29VO:!C6\9$^SHNH;U%^*_15;WOS'-"F]X(I,
MV_X>JYHU^76=Q9M\XO/+?6C&S:_C];ZX+_8/3_(14R?"D>O!,(C2A'J)BTG2
MYB-BUX]]J=A[ 3BFS\P/M[=9]2#R>Y]T06C1JF90FW//M"6999Z16Y.-LZY?
M[V<Y]E>S4FNML"@I6Y7Z2>G:QOUJAZ(O:?"K*=X+<3UG%N@Z+,0_LFHS!B96
M*6T1K;H^W+:?/0&)7=<+H@#%L1=XH1.$+"(=2)R&5*JU\L+0#,\._\R+ZQN^
M_OX0W^=5=IV#$5+PIY"D8@=8O2]N,]%'!!S7A?73&:7FX6.VX[]K_HQBTM7J
MLXLE7M8ST_3]2AIKGDTU@TF/G@<;YQUUITC.00MXW][Y: GC)\Q-B_E@ZCSU
M1]ED=^2;K_S_5;'F7XUJ<+TR92+$<)BD,,9)A!EA)$[3'HK#/Y29C8P ,#SG
M#)C!$70G0"ULI97N@OZ9-H6<W35R$X49KQB9!U28/:'V1AUEAZ:;-;%<\,%7
MC2/8[=VV?,CS;WEU7ZSSE^.=>-LXBG\E"EFLR^N=V(QNV\"(G)/ZB#?DT0YE
M41RGT'>\A :^&_1X?0H5-YF61FEZ[TFX_4/R;&L#L)_BZ]>K\=KF3-F@P68_
MJL</O56@,^O$UM71MK8B4&\=:,UK<OYL"B@T.VQ2;'&NA\2.*<D"'EZ-.,[K
MF>FUW+-]+N*ASU>BO6*Z+7_4\7<^Y6;K/1_2\9W0=Y#CQ<CU<9#&I"W\&R'"
M\4R5M#EC&%2E'I90%P$,-,C 7SVVI87D!$VGM$ 'NY:\SEI,>58&7AL_DR/Z
M?"^&^E*5HHGI)GD0FZ ?=Y_O\JK9 >V6KR)[H0<2Q1B'*4YB$K.(QLB/PW
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
M"%(/ 5   ^6MT:7V'34F9?4XM_#A,0R$YJH98T%$8)B0PF&&H>.:4!]Z7TJ
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
MAKF2;->3;23]=_VK=TM9E98R!;SUFDB .2-*01;LN]V=<00Z/?#%90WNAQ*
M&:4-(P))84'@' *E/$3KI*(0Y^.F:E?U1R^'J@=XXUURG,6NXRQVDU]].AJ:
M=.SQS$&(H44>2$JT,T88IPZ]A3:%'B,LP-0U(UJ$NJ\]QS;A_0D,_E@L\\D\
MWOK[4)G:!G/W\R0&C:S4<K8*AJ'=+,.O.^_8-F3_P^3+D:FI_8]E&EDM#1-,
M842 A$AX4Z+*F4\QWT9TIWT[Q"I&IHVA.1Y%>Y=/YY/5:G8]F^[T?ZA/$4.G
MU!OSZBOA$TB>\+5,.BBEH]YY+CT!%,'RHF0"M:3]I''V=1C?*]G[T\H8V/Y(
MBO_8A#%^';U[:O7O6XP3N5VI[8Q:*('VCGM$ FC2L:#1<DE%8K *(F=.X2[
M'YJPZO-D-H]%TJZ+Y6HRS]_GTYA5'2,>#@.T%.UM=/D$-JS7R]G'S3J^]:%X
MN]51!2.QIQYD&$=' V%.*L DA<13=\"?^92+)))"_<]SMSUN[0T]>N*L<$#
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
MD)!J:;#CI0.7%E"FS&1G8+LU9D@3ZRT!]Y':;XU86>NMP0O*F8VSOG< (2T
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
M(=K;OCI;K691#_L^GRX4]'Z+8)CV&% #D$3"0D&LVL.%*;DPRS15R:_7GU9
M[7^2,9-E5GD9*A\."O@(A[.2.>!%7*\C5J54EK&4XY 1WL6TO@@UQ'$8=GR-
MWZZQ"+UL$@PTT MO);5&4 "59GL)/<87YOZ2HN*C;&F,Z&G.7-_-_]PP :+2
M63+^)JA?W5?WCU\GJXC:P27EP).%:[]B(&ZR#3>":8*]0F4?I;47ML=)5U7>
M)IR]31/Y<FDV>[N[K?.H?OPMKJ2+[.KVZ=>G0JFKOR04R?010IAX3+'%0'OO
M2Q2*6@J7=<':UJ+3%;[#L&S7^=/KT>%607@'*8AVGI:$4"T]]7IOXD&2$J,Y
MQLFI P(<Y5@*V'V1ZI?U9#&9K[+LZMML-W6?+BEWN%&@/L[SC'B &*".0^AH
M>6IEA$07EBBM%7V_KE'8%KB][;OWU_';4\WGUZ)?LKOB+R>6OHIO")@8I[P!
M!E@E$6#1F.1;^054EJ<84R/TP6AIW>L&W/X.=>X.]/WDRG>J:8 : NDYEA%:
M)ZP&4IM28F#!A7D0M\Z#-^<^K<+=6ZS+H<O'[_DR_N96/Q;UKD_G7:OQFJ Y
MM(0RSY6,XC.FI  E$@R["SM?;(\8E:ZZ6\&\+_:]*ERE)[/"@^W+?9:M-D6*
M;Z9;Q_LG]Z)HM;Z\,(ROF*TWCOCO7S >7WK[Z4#00& +V*;('];$<0YUB;Z0
M(N4.9H1>8RVMW*/438_S<G4Y?IL\G-X)-WQCT"0:[E%GQ",#D6224E7B0RFX
ML(/;L9'N[9S?@Q(;GQ5_F2X/)]9\]43 C%J/B:;1S/+> H>]W?4)0:$NS/[L
M7'-Y&R@/,KV9EQ66CJ_8)UH&P!U2",3Q)*FW7@*"RY&%-+ I2^V($K2TO-2V
M"^H(2%1O-7RO;9RB'76(*A2!PX !2G>9_*/,T4I/R?(P]NDIA0'5F=4(Y[?<
MN@B,ZV)Q>5O!I^K%%;*RO'TX&.^P49IYP8QT'!ECRW42<0=4PG =48JFK@Y'
MF^(XR%1_W'@RD?G3F]V_5%T!:KPR6 JP9#H:7]$T Y)1:O93H='DPNS6%(H<
M6PNZ0[SQ[J5&_Y9?%Y/Y<G*][>MR]=YDE?S.(#6"S ..,/:PR(UO3#E3(\I
MBHOWF+WKFC.M;\C[FO[4;*/<[.;+?8123^*B7H0^9K'O1=?=G\6/QT)/JKT@
M:,D%D<I%X8GS1,$(^'Z@89#BSEG;L^9'MOB6CY]RG2(\Z"U0&7%>5,@LQ]35
M[;N/ZNPV7^P"<(\7PV[Y2\%*%BT?JR@D% $-!"S#A.*^!"95$AOSG7@KB_&
MBAB4V+&[NRCRVZ>8\0HBUZ5UT^\$("QW&F+JC3>NT"C98XF]2#EZ&/-U44>D
M[DD-C<W.5UY4=O(PN<N6JBBSFMU\SF[7\[B#_[3(;];7JT_KQ?5]7%L^+:;7
MV2;+TB'#,^VM03DBJ<(<*\H((I0[6&H %V6:+O08-='T[!7TK@@W??BVCH!O
M,\Q\S.XF,Y]ERQ2R'7ECT!!0;0R#@EN#D/-@/\BP="CE>G',YS;=$JT]P >(
M=MT$T&W\L4XEW#W<*"A"O=-&,^ND]Y0J;?=2 I*4IV=$N;L[6$);P[0WYI3T
M/D:4\IG G+5>"8LT]1KK" 9AI0R*FI1C8GG9O&@(X5@L_;8M^O=-1JM5G%<)
M%(P)B!WT5N,2&XK20DK 1?.K#[S[=6M\MLUXS\4CBT)%^=1JM9A^6Z\V*<OR
MS]GW?%&LZBXV6#V>]%QLX1M!&,8)0%1X3CST5!41BCL,M35)#EZ7?:$QE Y&
ME)#J6;:^OQ)6O4A@!##22G  J) 8>DSCYFZK4@8L])5"P3J^:J^9L,I;4E3^
M@()XC[DW"I;;4P8D)1?F"=J9OH\GK*H'\E^.^NWZY7KK'6<"&$XM-)H#SFF)
MOF.7EBRI*?6&<=2OIYN?SU%?"8(,-%CI:$Q HC27Y00$,?8IQ6='R-VQD:XE
M1_UZ2NS'45_HV"6I+2?2(FR\UU27?6)$D,LB5N>:.^"H7P_E$?A8)SKJ$RN1
M9@YRXPGD0,=-#ROE]4RGI$H8LW-3VE+;+J@C(%$+COH>2*P%CO:W1P!Y*@QW
MI<R FTN>GE(84-M1OQ[.%QW +IS&B%*I.7' "D,@*9&( /T\H2%UF9$4ME +
M]',)6Q#>2<6X5-C3^%]K3)EFE$$#DL(6QI_+K.DJF(SC",,6/F<_LOF['A;-
M7Q8TUXI##!360"A'A+)V;U-*>&'IJ%)HT3Q4H1G6(V3@Q@'^ZO:7/+]9?LF?
M@$Z-G7GYUL PYYA";)Q1DDE .-_CA+SI)V6PW')RGMT5+MM?+Y2:B=CW$DCS
M.6HR?NC>QF$TR[]OW$WF-VY^%X'*%L4-V=9SOI4(F\H?"]1R *&S&'#BG8@[
M\3)(DL5->K7;F^1U^0Q9.AJ5]$+>+]DLOO#NEVP>?S/;G#L^3.?3XD:H*%O6
M)G4K?BH0IFG4C.0DCNZBW+!E>S,YFE@I'BC5 R)^!N)VHY 1V@4^7V33N[E9
M1[W/KQ\W(7.S?;C(LG!_..I\U_:G A.$2,NT@$Y13*CC8']2B@U.H?AYA$?T
M8#ITH8E!CX0J^.HD1K'5_T) 5A5)<@&PA>N 1P8\*1)1DG)T63_*(E]-9F?$
MY $4\%<XYBD\':88 &0-8EX0H+5R8K_8F8O-PM$1H7M31&-C>?O! IF;9[W*
M]T;29E*):EN]R\*ZKPC*68X0Q%04!X:FV _L\IPPQ#@U"?2J']5Q#O-EQPC_
M7,[]B#F%@,0*6.2X,YKH\K@ZKB,V9;4^C]B15B>WEN'^R[?_/;]RXCC%WEIN
M,5-1<4@*OQ_.@"5= -2/1SF'&7-H'31WZ5KEU[]_*_*.7#_+._+NC'_0YZOZ
M*X(K0I0QE(8B[ZBCF&.YETIJ>/E1(XW6XNX@;G[@F46PKZ?;"_UW>7[P_/)D
MRX"$1L 8+20%D@$0I2E/")" +,DI=<QN7JD'D6TCVY@=ZJ&8S/ZO 3M.MPS"
M&:ITL;!KY9W%2K#R/@I%VS/)W7[,[@^)[&@=V;Z,)S/Y/HTVP.9L_&:ZJ195
ME5)U7Q$0H;HX7Z<<,QCWP1:;TA$.8:I2]HKP/%)#-35].H)X1%&+&_>CGS$H
M$;*H)2$=D$J28DNEK(8*"50P!.!*N4L[<J1['DA:W0&_01C(UZAI'87X_9BG
M7O^]"<8RQ EVAI!HW0E!/**E;IA&E^?'W US7_L*CEZ37<^+^?5Z[U51;$@_
MS&_SQ<.+C6"-&?#0)F+WE?*?DW>^=F0^J_V.(*$V#.FXJ%%J :!6N0W&.!K"
M&+-*Q1"/S63+[/IO=_F/_[K)IL4D1HH?"KG)L[DK_FK?Z6=]/!16?>SQP(%E
MBCJFO<+  PX=UZ4\4-G!HO>^+Z;Y(NI@XUW7[E30H=+SUA&O9R)79<\FJ\Y6
MW@/A5.\\%1QDP'A"A.20<L^B]67*GD=$!G/K[9 K[6@R;PO3;MBP[<[!D*C7
MCP1N$=46:AR[JY&73$)>]EGRX0I8=\R#QJK+6\&Q2]T_H_;'(P$EQQL$P[S#
M$LA(?H(-!<1"4LKC $RQ))/.W,YI?F@-WF[H4LKZ-7[CA*E1/!( 9LA[X@!S
M A1)A8R&99\YXH/E;NF8$FUH\1U;H@&DW=! Q=[<%#WRL\G= 1Z\>"9 5=Q!
M.>Z8DT(+QBS:FU ")&7[&O/<T#(14C#M=D+XE$4@HPE]8^/6]<3,\.+98#R7
M1E$KI:'$>@YM7!-+/A.6<F":=!9_7LQH ]MN&>*GR^O)['^RR<+'WQPR+PX\
M'4B<]I3T@&D:+2[*E06^E 10,EC!A?-D21JZ??!DR^/J3'GV?# <.TV(P59I
M+#B@QC]MUQ&O=$;3A:/^.7.E.;[=L.7K8E*<HGYY?/B6SPXPY,4S 7D-&:48
M&0@Y$/&=8&\W2052=JU)I07.BQ4IF':Y@_V<W6UBH.:K(C?2T;WKRT<#P02P
MN $G',3MN"":R_W<9P5*J:N7Y#M^7KQH =HNZ6$B&HO)[,/\)OOS']E[3I '
MGPV:4LZQ4@KZN-L"Q@B%2BDT$2DN9TDY_<^1(&G8=L.0;;#9,YOH^"[FT.-%
M)C;H$(IX4 2L)%CJ_;((O4TY'D_RTSXOGK0$;Y>3R;^SV>P?\_R/^9=LLLSG
MV<V'Y7+];IJGDVT"('%G!K"(.WCGE+,(,K4_1)8\R9\U*7/_>;&F39 [78>V
M[-[[:A<W_0=W.,>:!$J,\ HKZ@3QVE$N>"F3*FJF#^8(?8[$:07C+GGSKWRV
MCHI://KI+&)]E#"OG@W: T2D1H!9;#2UV.&]%)JEN<S_1&>O;8#;)44V'3)Q
MI;S+%\<-W!=/!N-0["AS1C/HO14Z;N%+"8B4*:<E:<[0YTB/%&@[77?RAX=\
MOHD"V10*7EZM5\O"Z25.=L=7GR,-@^#&$("TM1P:8CRQ&NW)#\5POL[G2)T6
MD>Z229_6WV;3:S_+)^\YU+W[7+#& @L(<@Y#Q)'GV);G (JA-"/W)SJ1306V
M8X]/]_!]EC]FV9?)CTC9Y:?9I(FC9TL1'\^BW-3\YG.VFBXV'K5/CK,5W-QK
MO"6(N-CKJ 7(X_:4:>V=EEM5&*()J#07=H/%IRC"5H"KU7VV^)3''N\ET=D\
MNYVNED\25?%3;_K*(+G"T&JF/ ?&"R0()B5*Q8W"!?J#=$JF?!"]]#^1/'F^
M/YM-MT6^?J(YAC .:;0#O&)6 >JAA+LC,*J$996<:#H*+8K,FF<W16W@34AZ
M%*90VTZ3BU\GJS@ZYG<O_IXMKK.B4/#FCT<02GYW<$99'H>-Q7%@F2(PGO,2
M-T#$A957ZH11KU-K]*R3QG'$OT[GTX?U@[K+ON8Z<[/IW723+>&  ._0L,EK
M@N74$Q$G;\BA5=802?;20612+-ZQ'KGT0;\>=-%;;J'W>_OKY,^-<//Y>C)[
M_L=E'#_EPK@;2O7GS#IO#P)#;"'CSA.MG,**$[;'32>=&X[U7&@$4VB'*AJ8
MVA46ATZL@*"H8L0;S0Q#RE+O//8E2AZ"% ^/$4;DCWOYKZF,QNM^@<)D_OAB
M /TK6Z[4RL7-T>W7/_+B;OG0<E^M==C<02,CO&,<*($M+0Y>MK(8P5-J"HSU
M6*NW5;X3%71&I]@X*_IS,"M-Y1<$@[FRB$@@A=?<<B>QW,_ISJ94>1JKG^)H
M2-54"UWQRN?K10JM]NT#=$#%'99R&'K@!9?.JE(>)6B_&7*?)>3["5C55 F=
MD6KZ(VFNVK</DCB$*7*$"@L,%-K;_2"AGJ><JXS5,W(TI&JHA('W $5IH,]9
M<> [_;_L:*FG*NV#PAYSJZE6C'(%H<',E+)CHN4%NER.P,Q/4D+'=P=^,EW\
M:S);9[]FDP*# I'A,F[M>_,L7T^%.X%CS0+TG%NE-,/"<N.,T_N[H?@75.E8
MIC]IJ]PF'FT7'"52"RR@IAPZJ(BR>"NO!7$#F>1D,O(QW@X/\N[0'F(PJ^4R
M6Q49NSY.)]^FL^EJFBUW?[]1JWV3JWF<HM:+HI27GBRGRX$O"_?].M;]9WV.
M#_R6SQ<O1*@S<[3PF<"ACF3P%C-B/55("1?-56DP%@HY/X:9)D',0^FR6O]&
MH$7).,X)0 8PX("D7NQPU ;"P:X?^YS!>N7CH1FO9TWV96OOY=./^Q__/LT6
M\?OWCQ^+ H<'DGS5>T'00" .)+&,.(Z(B=M84DK/9347IY^8QS4I=(C$;>JH
M=X8^7\C?BG$P!5FC]P1J 8*><,^DHLXK;!@JL2 :7V)NPZ[8<HB,'>BA=TY^
MF']?KY8;4."OV<.W=R/Y*K0*T CII>2BL)6IMUM'@ZV<T,I+3';5,2$.T2X9
M_"%)AAJ1;-<J,"$QIHQ;J8T"7,&X0ROE1/JB/8N&(UDS\(<D&6Y$LEVK +AA
MDENM,6/6(6J<W!LIC.M^RI#WYC$Q'*^:X3W ON(9,GZ1_>^Z*,Y;?5-QJ'5@
MUD@71?:*&F59<>94[NBT@#+EKOML)K,Q["A:4M"0VXE]OQMM(EZU#@H#)YR4
M"''*/;=D<Z>QE5LB,UA1A'ZW#NFTJ+!O2(-^T!WL?G!67VR/- _.:@0<@7'X
M$DF9 %# 4G(@P27F5^^$&%4VJVG8]\ZZA$7BXY&$WIU\)P"LM4+.%AZ>'C ,
M(*7[!8FSE%5][([C(UK5!U!E7\-B*]H[%YD5;LA.M@V&(*.%QM(I0FT452)6
MRDR%_.NZIG7RY-VJJ'GP6#[/'G^=+'[/5A_F\=/KESO#IXX=#!NK^H*X_@"C
M'6900J:MI<38O42:^DLV.%M4=]X#]@ENF8OO^6*RRG0^OZG#HI,- X^#S M&
MM+"8:T>]Q'@G@6'<I/C!C7T?W1%[VL:\,6N^+C;3[J.>SF9U2'.J7=!<,R(=
M\=XJ@(AFCN[[[RU*\0@?NY76$6=:AKPQ93;BZ<GU[]G-EV)IWJS>-:A3M7TP
MG"("+9?,6.XMX,"4.S(#N4BY\*H=6/<C6WS++X!$'8'?F$QN'3&9_N]Z>A/A
MO%W'R? 0;=X^&0K70>T9$0HZ99&)>^D]X>-T.5@F_K-B1#*NC77_)8^C*IO>
MS>M:+"<;!NHT$!#&I9(H9R$M-@BE!"":8 G,&'N46T<T:1OSYLO/77%H5Y<R
MQUL%8Z$G!%D$!6"66&&IWUM;\?,)?!EKEOZN%YHV 6^^Q5[/I]?3[Y-97;Z<
M;!@(Q% @2+T6RAE(F/1V3W>7E+]B[-%I76VI6\:\MV/T?#,Q;K,\7S^:R?+>
MS_(__I[=W&U/NI[%#1P[):_QF@ ]<$5M%,4Q1H0JPUAYH6 H)2G;JZ30M',A
M7 ^@#T6_(IPN0K+I?;49K^&;@M?2\RB_MEIA;Y %1NZ'(TFJR#K:Z@+]4[)=
M+?3%RF<G^\UN4JJ]( B%4!R0RB'*@ 4"*UXZ9AJ35BUZ[&>3X[A.Z41/ \^=
MRU*HQU8FT*.O"T6:0@PE4XB3.&#CM 'WIK#G22>EU>]FY);!\^QNLLINOO9+
MY+8I5&U";5,K??%5KY=QP"Z7)G_X-IUOU%V($T=SA#G^M)Q&O>^"8'?"':%K
M@[?%52U"HB'&WF%N'8>6Z+T-!)3H9;X]S-:S)&CW>NB+GYN\T%_O)_.OV4-Q
MP;5X_/#P/2)67(Y^S.,RM?PP_Y$M5YO+TD]%-9Q\_I3KX</<31;S(BGS;]DQ
MTZ#%KP3KD76$.ZT,$1IAY'5II3D*4$H4UYA]T0<U&8;37^.#I!:[/,_GU]N"
M4(<.GSKY6, ^*@H**Y4DCA3YQIZ0<M:GW):,,$_EL$P?C1J'2*%Q'.@-LO^<
MY]^6V>)'X8NX"5@IY)Y?QU;/4N]?5F(=RKRQ'D0[DBNMG:'4&:BE4-YY8%$E
M]^N.I4U77.6L%RU]*O!BHK; >>ND!QX*H'&)J@4\J4[AB">U)((=<ND=1B=]
M;YW4]?^NI\M-N8\3(68'6@2A<1&1(C$FB@.J#8JS\$X^JEQ*7MXQ<ZYW>AS8
M):6I8TBZ%3\NLNQD"-G)ML%K&!=\+ZQPE@L+"->BE!E:/5@N@&XHF*SY"DQ*
MP;?Y]?0D[O:S[-_YXO=H"U[_[6"@UY&G@Q8&*R"M$!A)")EB>C_OQS4@Y43F
M3+C04'=YV]@V]X*;?[F??,]^>?CV]^,4>/-@4)Y!)HQ1'@-DC(3&JVT//9"(
MI&1-2KK_."OMI\+:W&G_?CI9Y%^SZ_MY/LOOXM+Z\:,Y3H$C3>*$&+>FQFE&
M*5( \;B<XK+7A/L+.\SJB SM =Q['&>ZB?:Q3CAGBY\+#FA"B@MR1ZUSG#(H
M]\@B!%.,ZA'.8Z,QJD>@RS,<)68RNU[/-C]^SF<SGR_^F"R.Y1OO_-M!2U0<
M DHB'<*:&!;!W\],%*1$18_0"AR6MMV-H5:4.V32BG]/5_=O9%R^%'+Y^=4I
M^^Y.\Z2#9!??"]Y%\1"22A5>I18[:\33DDY3RG?5'CC?L\4TO_FRFBQ6YS)\
M4AE;(9M&WSH>^_@Y(.JG]>+Z?K+,*IEN+7\R4.RTX43IN'$BR"!#G"P1QCRI
M5MEEFV\C&3\M*WA(+U-U\Y_U]E*UIG?I4\, $0<42R:AM8HQP;AEI;3Q7U-.
M54:XD1XOG5M5TYG.ZU^RU6KVLM),]S/[LX\&8JSF5@M@H5' (HXH+%$N,F7U
MXCC2M\O?>,?$:#0]]O$TKGU&X:])(2,"<X*M*O)&[Q=0AY,VZ+6#U;?[##>_
M^6L(#:;A(3RS?ILL"C_B']DE.EAQ1+3WB'!NG<+:4FV*E';.4<,U-)5<@3J6
M]CSJ"2E59'V@1C,MJ=:&>;?!D7,D$4N)J!KS26(2I;HK"51+&;VOR-VE[D;8
M0RFPQH1[2N-DJD IMT,R);I^S"3LCR]-LG77TLF0UF&[V;J%!Y!0@R@&7#,#
M&=!F)S=6D/<3H-<_%]M@0H,$W?70'I)ER^=CL%F.[K=O"!!:S[77PEM>N!A(
MPHL"$)X[8Y$C@^6'[9AM;3"B2F;N9,1[9]Q9)>>6Q&BL$1288"FYMXJH4E=4
MNI2Y<LSW ,.OVP-HKZ^1\"Q*ZL-<W=YN=N/9\LOZVW)Z,YTLHJ11^OQZ\]LH
MX/_+I_/5O^+CA2U?+X"_[4\%)K'3"O@X9?&B<+(5H@C3]<AR2X2]U-F\7S;F
MHU+B$ <[FTGDLHYSO.2 .PPUEQ%NI9UQMB@5CCRA!, !RT-_N;[/;M:S[.JV
M+M^?)OPJA>M;_4Z@ECAN-7$>42091TKA$D_)R$]1_B6)9_EXM'.&+I-5"-_%
MYP+'C .%D8M(4N:H5$[OD&5Q!D]9@<=LD;9)]1'HI>-%]9<\O_EC.IL-MH*6
M'8B3QX?8]_G=-.*WG4]J94VK]9Y@$9,"&@Z,MM:*(GS.%#K 0#N)U( QZ:4<
M3YVN,H$<:17BK,J 1 ):*:F7"!-K2UFI 8.5Z^YF'NB(!WE7>/<TOM7-S29.
M:#+[,+_-%P_/LDW\9$/?6T"1+VK-8D,)M,(J"1TQ1'J!2+5L,%V;UZ5$I^X^
M#[0HW,.L9<A2*P5"7C&*V$Y&29T:;,CW8/)V1(:#-G *\'U9LU^B%C?;Y3)P
M\$MVM]D]G[BO/-HN6(F1WE1J5@00)9BTJ)15(SE8-H@>2):L_M=T:A'HWDBU
M[>+)B\87SP7"-3&",8@0+@KV> A *8N!?K"T-7V0IATEOZ9. KR-H[>_3)<W
MQX.UGYX(R$6CREEFHCW%F74.:USV"5%VR74?&RHG;P/(YKDY?IQ2[M,3@4)
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
MP)$2"<LP'BS^< R31666'*YOVR[\?5F=1[JM'W^=_"=?;!S63UQ0U'A+$))
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
M_I=8S=OS[F&C"(38. V-911[14E*EB3<8X7KA4-VE[WV6'[A18/2TT2X9+J
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
M\##PWAK48]K.Q[NOQ7@]+=[=)XUN/MOF4QUX"]GPY5/DA(Z+^=<16F3,&B@
MCEH!D6*.0$F4WC:#CZ8/L%+F%.:X,B]S;=3,^Z)^5_?/XX[J&<]GP_3\:8-2
MD=V<,"X 4EI;B"TH*04YOK'(IG9QVCKY.P/J^N%AM/CY1-JV5^Z7(FXD7FQU
M0%ESBF"H=A9@X%2TK[6+][9C)06(D3G9SU?F);X8@.V0NOM3\9<<[O0>\UC>
MZX(#\:P9 [0H4@5Z0!FASG#M#2SI@R7R&5 <8).C=L_"-BG?LO+^SV+RY>NJ
M&*OOT;CX4FR\A?VI\6ZTF$597KXO%IN5U-#A#PT)S$IFC=-:>8VQ]9H@LV4K
M1A*86H5QNMEE'3$_."8@RIU1#DFF,$HU!964Y3X%-3E5M+.4[V^+R7PQ6?W<
MZ$;M2'4^[U^:X U1N0^A5>/Q)$V27O3OYXN'S8S;:+";D&<EH7>$4*J4IQ)'
M]9'H+0>,E(K74M[;OM0_KB)6],]- =!3A2Z/C I<8&>Y@8@23J"31G%0[M5
M?&-5<O)9?O!FSB5M9WIABLA)[N3-2G?K/E'8\N"8( B!V@OKC8PTXU8*3<H]
M1IOKQI+*&N'V2P0U1-O.4KB?+/-DW<I?/QP 80A0)+76R%@KD%2BDC0I>E,B
M6D),/G=?9F+GDK0SH,P?'E( 8%SGR3*4OWPVT&@1>0.<(]@ZD!(CMTF2:4^(
MFIRDF '")(>I+_&12<H^SI&W-:I([OU\4!8RZ-/;I\(X'KHPQ9/N]J;=K47Q
MMG'_-$'7KC"C9JO)>#)=)V?PQ^)NO=@X/=R/N^DZ6AD^TBN]::Q7N]277[2]
MA_GZ: >"1N8/7"GI.9+2>VBAX=RX2MXLR6IEFX7)/LWD2_7K/CC2ATEM1M.[
M]72WB[V?N"'[&BDFK(+&"2$B$*@R$&Z3YFB\JV"M1]QV=OF"\G^LTP4:#\<-
M!]ZM5\O5:#:.>]*CY>3NR-;/FB=8RX453&#&L<8"0H+YCAY,"]YI@<"XX,_S
M01P9M5$R[X[V75UT>_=@TSE8C'_9R&.$V+F(/#UC\)Q%RX1"Y#T"EFJ(K2KI
M@V!6^[JKO<P:16;C/.@5H^_N#^WG_-/RT$P!:V<I($0Y0P$%C"&G2WI8C7*J
M:&6EL]\,)ANC?1^J5,_Q@4TJ2@0;+ATF3J1&)DYYX'<^ &H(IK6 WO9#Q-'K
M]H+8@C/F"\)0HXCFCE'-4K%YX2KZ<$%[RSGO\R"HC9F#+QGM<:#&<;#[1?I/
M2B7ZO__C_P-02P$"% ,4    "  %@5!*.-CH!CQA @!T"2< $0
M    @ $     8V=N>"TR,#$V,3(S,2YX;6Q02P$"% ,4    "  %@5!*.G 0
M1:D<  !(2 $ $0              @ %K80( 8V=N>"TR,#$V,3(S,2YX<V10
M2P$"% ,4    "  %@5!*^QM>#Q8X  #C?0( %0              @ %#?@(
M8V=N>"TR,#$V,3(S,5]C86PN>&UL4$L! A0#%     @ !8%02OM=&19XE@
M+K@' !4              ( !C+8" &-G;G@M,C Q-C$R,S%?9&5F+GAM;%!+
M 0(4 Q0    (  6!4$K1"H!FM$,! #\_$0 5              "  3=- P!C
M9VYX+3(P,38Q,C,Q7VQA8BYX;6Q02P$"% ,4    "  %@5!*C23M_!'B   >
MU@L %0              @ $>D00 8V=N>"TR,#$V,3(S,5]P<F4N>&UL4$L%
3!@     &  8 B@$  &)S!0    $!

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